Android:按钮点击时出现吐司

Flo*_*ncu 4 android button toast

我对Android很新,只是熟悉常见的东西,但我无法掌握onClickListner(); 我基本上有两个复选框和一个按钮,然后在按钮上单击一个吐司应显示并说明哪些复选框已选中,哪些不是.

public class ExActivity extends Activity implements View.OnClickListener {
    CheckBox cb;
    CheckBox cb2;
    Button buton;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        cb=(CheckBox) findViewById(R.id.cb);
        cb2=(CheckBox) findViewById(R.id.checkbox);
        buton = (Button)findViewById(R.id.buton);
        buton.setOnClickListener(this);
    }

    public void onClick(View arg0) {
        Toast toast;
        if(cb.isChecked()&&cb2.isChecked()) toast = Toast.makeText(getApplicationContext(), "Amandoua sunt bifate", Toast.LENGTH_SHORT);
        else if(cb.isChecked()&&!cb2.isChecked()) toast = Toast.makeText(getApplicationContext(), "Doar prima e bifata", Toast.LENGTH_SHORT);
        else if(!cb.isChecked()&&cb2.isChecked()) toast = Toast.makeText(getApplicationContext(), "Doar a doua e bifata", Toast.LENGTH_SHORT);
        else if(!cb.isChecked()&&!cb2.isChecked()) toast = Toast.makeText(getApplicationContext(), "Nici una nu e bifata", Toast.LENGTH_SHORT);
    }
}
Run Code Online (Sandbox Code Playgroud)

忽略罗马尼亚变量名称和文本,XML就可以了.我也尝试像这样添加onClick():

buton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        // my code;
    }
});
Run Code Online (Sandbox Code Playgroud)

但这个更糟糕.救命?

小智 6

两种方式都是正确的.在我看来,你最后没有露出祝酒词.看起来像onClick没有被执行.

添加

if(toast != null) {
    toast.show();
}
Run Code Online (Sandbox Code Playgroud)

到你的onClick()方法结束应该做的伎俩.
(如果您没有创建Toast实例,则进行空检查,因为之前未匹配任何条件).