7

我正在创建一个测验。我在活动及其相应的问题中有 3 个按钮(选项)。现在,我的问题是我想显示 toast 消息,当用户选择正确答案时,toast 消息会在几秒钟内出现,但是当用户选择错误答案时,它会再次显示 toast 消息。我不知道该怎么做。

我做了很多研究并阅读了论坛,但似乎我不明白,它不符合我的需求。有人可以帮忙吗?提前致谢!

到目前为止,这里是代码。但它不起作用。
请纠正我哪个代码是错误的。深深的感谢。

btn1.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View arg0) {
    // TODO Auto-generated method stub
    Button btn1 = (Button) findViewById(R.id.btnopt1_a);
    btn1.isClickable();
    switch(arg0.getId()){  
      case R.id.btnopt1_a:  
          if(btn1.isPressed()){  
             Toast.makeText(getBaseContext(), "Your answer is correct!" , Toast.LENGTH_SHORT ).show();  
           }  
           else btn1.setText("Your answer is wrong!, The correct answer is: Frog");  
             break;  
           }
      }
    });
4

3 回答 3

7

要在单击按钮时显示 toast 消息,请使用以下代码。如果您想进行一些验证,请使用按钮的 onclicklistener 中的代码:

Button btn1 = (Button) findViewById(R.id.btnopt1_a);
btn1.setOnClickListener(new OnClickListener() { 
    public void onClick(View v)  {
        Toast.makeText(getBaseContext(), "Your answer is correct!" , Toast.LENGTH_SHORT ).show();   
    }
});
于 2013-01-31T05:45:44.037 回答
4

试试这个,首先implements你的Activity OnClickListener. 然后每次结束每次点击检查条件你都会得到解决方案。

public class Deals extends Activity implements OnClickListener {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.yourxml);
        //declare ur buttons here
    }

    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.menu: {
                // Do your stuff here
                // call method
                if (isright) {
                    Toast.makeText(getBaseContext(), "Your answer is correct!", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getBaseContext(), "Your answer wrong!", Toast.LENGTH_SHORT ).show();
                }
            }
        }
    }
}
于 2013-01-31T06:03:03.527 回答
2

如果您有许多必须展示吐司的条件。那么最好制作一个显示它的方法。

private void showToast(String msg) {
    Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
}

onClick()并在要显示的地方或任何地方调用上述方法。

 btn1.setOnClickListener(new OnClickListener() {
   public void onClick(View v)  {
       ..................
       ..........................

       case R.id.btnopt1_a:  
           if (btn1.isPressed()) {
               showToast("Your answer is correct!");
           } else {
               showToast("Your answer is wrong!, The correct answer is: Frog");
           }

           break;
       });
于 2013-01-31T05:48:00.160 回答