私の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.を使用しましたが、それも機能していません。