1

私のAndroidアプリケーションでは、ボタン画像を1秒間変更しています。ボタンのグループがあります。その 1 秒で、任意の 1 つのボタンの画像が変更されます。その1秒で特定のボタンをクリックした場合、いくつかの操作を実行したい.onclickリスナーを使用して試しました.しかし、うまくいきません.どうすればいいですか?

protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.next);

  // **here i want to call method for onclick of button.**
 //      buttonclick();
  myTimer = new Timer();

  myTimer.schedule(new TimerTask() {  

    @Override
    public void run() {
      if(time==-1){

        onStop();
      }
      else
        runOnUiThread(new Runnable() {
        public void run() {

          Random rand=new Random();               
          time=time-1;
          but1=(Button) findViewById(R.id.b1);
          but1.setBackgroundResource(R.drawable.happy);
          but1.setContentDescription("happy");
          but2=(Button) findViewById(R.id.b2);
          but2.setBackgroundResource(R.drawable.happy);
          but2.setContentDescription("happy");

          int num = rand.nextInt(buttonIds.length);
          int buttonId = buttonIds[num];

          Button bb=(Button) findViewById(buttonId);

          if(bb.getContentDescription().equals(button.getContentDescription()))
          {
            bb.setBackgroundResource(R.drawable.happy);
            bb.setContentDescription("happy");
            wrong++;
          }
          else
          {
            bb.setBackgroundResource(R.drawable.whoa);
            count++;

            bb.setContentDescription("whoa");
          }

        }
      });
    }

  },0, 1000);
}

    public void onClick(View v){
 //when i clicked on any button its not even entering here
    System.out.println("in onlcik............");
    int aaa=v.getId();
    System.out.println("click id is------------"+aaa);
    for(i=0;i<9;i++){
    if(aaa==buttonIds[i]){
        findViewById(buttonIds[i]).setOnClickListener(new View.OnClickListener() {

            Drawable dd=findViewById(buttonIds[i]).getBackground();
            public void onClick(View arg0) {
             System.out.println("yes...");

            }
        });
    }
    }
}

 }

私はコードを更新しました-私はonclicklistener.を使用しましたが、それも機能していません。

4

1 に答える 1

0

onClickボタンのハンドラーを正しく設定していると仮定すると、単に呼び出すだけで呼び出すことができますbutton.performClick()

于 2013-02-11T04:27:06.070 に答える