O_Casper_ne 2013-08-02 05:39 采纳率: 7.7%
浏览 2399
已采纳

Checkboxes 让 toast 多次出现的问题

我在程序中设置了两个 checkboxes 和两个 EditText。点击一个 CheckBox 时 EditText 消失,然后显示Toast ,"Your Information is Saved",如何再次点击 CheckBox时,另一个Toast 会显示"Enter Your Email Address"。两个toast在每次点击后都可以正常运行。这是什么原因?

on.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
    if (((CheckBox) v).isChecked())
      receiverEmail.setVisibility(View.GONE);
    if (((CheckBox) v).isChecked())
      Toast.makeText(getApplicationContext(), 
      "Your Information is Saved", Toast.LENGTH_LONG).show();
    else
      receiverEmail.setVisibility(View.VISIBLE);
      Toast.makeText(getApplicationContext(), 
      "Enter Your Email Address", Toast.LENGTH_LONG).show();
  }
});

on2.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
    if (((CheckBox) v).isChecked())
      clientID.setVisibility(View.GONE);
    if (((CheckBox) v).isChecked())
      Toast.makeText(getApplicationContext(), 
      "Your Information is Saved", Toast.LENGTH_LONG).show();
    else
      clientID.setVisibility(View.VISIBLE);
      Toast.makeText(getApplicationContext(), 
      "Enter Your Email Address", Toast.LENGTH_LONG).show();
  }
});
  • 写回答

3条回答

  • xuqili 2013-08-02 06:34
    关注
    if (((CheckBox) v).isChecked()){
          Toast.makeText(getApplicationContext(), 
          "Your Information is Saved", Toast.LENGTH_LONG).show();
    }
        else{
          receiverEmail.setVisibility(View.VISIBLE);
          Toast.makeText(getApplicationContext(), 
          "Enter Your Email Address", Toast.LENGTH_LONG).show();
    }
    

    if else 如果省略{}的话只会执行临近的一行代码,第二行是不会执行的,你的问题应该是因为else后执行一行代码receiverEmail.setVisibility(View.VISIBLE);,导致Toast.makeText(getApplicationContext(),
    "Enter Your Email Address", Toast.LENGTH_LONG).show();无论如何都会执行的
    楼主看下是不是因为这个。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝