2013-02-11 4 views
0

В моем приложении Android я меняю изображение кнопки в течение 1 секунды. Существует группа кнопок. В течение 1 секунды изображение любой одной кнопки изменяется. Если в течение 1 секунды я нажимаю на эту конкретную кнопку, я хочу выполнить некоторую операцию. Используя onclick listener, я попытался, но он не работает. Как я могу это сделать? Пожалуйста, помогите мне ниже - кодкнопка onClick прослушиватель. Не входя в функцию 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..."); 

     } 
    }); 
} 
} 
} 

} 

ответ

1

Похоже, вы забыли добавить onClickListener к своим кнопкам.

Попробуйте добавить

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

к коду.

0

Для этого необходимо позвонить buttonObj.setOnClickListener(this); из вашего кода. Я добавил this, поскольку вы пытаетесь добавить public void onClick(View v) в свою деятельность. также наследует onClickListner на implementingView.onClickListner в yourActivity.

так что вам нужно два изменения

Class YourActivity extends Activity implements View.onClickListener 

и

buttonObj.setOnClickListener(this); // must be after initializing buttonObject 
Смежные вопросы