按钮onClick监听器。没有进入onClick功能

时间:2013-02-11 06:17:37

标签: android button onclicklistener

在我的Android应用程序中,我正在更改按钮图像1秒。有一组按钮。在任何一个按钮的1秒图像被更改。如果在那1秒内我点击那个特定的按钮我想要执行一些操作。使用onclick听众我试过但它不起作用。我怎样才能做到这一点?请帮我下面是代码 -

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

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...");

        }
    });
}
}
}

 }

2 个答案:

答案 0 :(得分:1)

您似乎忘了在按钮上添加onClickListener。

尝试添加

 but1.setOnClickListener(this);
    but2.setOnClickListener(this);

代码。

答案 1 :(得分:0)

为此,您需要从代码中调用buttonObj.setOnClickListener(this);。 我在您的活动中尝试添加this时添加了public void onClick(View v)。还会在implementingView.onClickListner yourActivity继承onClickListner。

因此您需要进行两项更改

Class YourActivity extends Activity implements View.onClickListener 

buttonObj.setOnClickListener(this); // must be after initializing buttonObject