7

クイズを作成しています。アクティビティとそれに対応する質問に3つのボタン(オプション)があります。さて、私の問題は、トーストメッセージを表示したいということです。ユーザーが正しい答えを選択すると、トーストメッセージが数秒で表示されますが、ユーザーが間違った答えを選択すると、トーストメッセージが再び表示されます。私はそれを行う方法がわかりません。

私は多くの調査を行い、フォーラムを読みましたが、理解できず、私のニーズを満たしていないようです。誰か助けてもらえますか?前もって感謝します!

これまでのところ、ここにコードがあります。しかし、それは機能しません。
どのコードが間違っているかを訂正してください。深く感謝します。

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

ボタンをクリックしたときにトースト メッセージを表示するには、次のコードを使用します。いくつかの検証を行いたい場合は、ボタンの 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 に答える