2010-12-22 2 views
0

Следующий код вызывает сбой моего приложения при запуске. Он компилируется просто отлично, но просто падает. Без этого кода он работает отлично.Сбой приложения OnClickListener

Это код

private OnClickListener listentest = new OnClickListener() { 
    public void onClick(View v) { 
     // do something when the button is clicked 
    } 
}; 

    public void onCreate(Bundle savedInstanceState) { 
    Button teamsbtn = (Button)findViewById(R.id.teams); 
    // teamsbtn.setOnClickListener(listentest); 
    } 

Спасибо, Andrew

+0

Пожалуйста, разместите полный стек из крушения. Используйте logcat. –

ответ

1

Интересно. Это может быть связано с «когда» OnClickListener создается в общем жизненном цикле приложения, в частности, в отношении родительского класса. Я лично не пробовал это так.

Что делать, если вы вместо этого создаете класс, который вы создаете во время onCreate?

public void onCreate(Bundle savedInstanceState) { 
    listentest = new MyOnClickListener(); 

    Button teamsbtn = (Button)findViewById(R.id.teams); 

    teamsbtn.setOnClickListener(listentest); 
} 



private class MyOnClickListener implements OnClickListener { 
    public void onClick(View v) { 
     // do something when the button is clicked 
    } 
}; 
+0

Спасибо всем хорошо сейчас – Andrew

+0

Нет проблем, получайте удовольствие! – Derrick

+0

3 года спустя, но не должен 'private MyOnClickListener' быть' private class MyOnClickListener'? – twiz

Смежные вопросы