Java Android应用程序总是意外停止,是否尝试执行事件处理程序?
所以每次我运行这个代码,我的Android应用程序都会意外停止,我不明白为什么Java Android应用程序总是意外停止,是否尝试执行事件处理程序?,java,android,events,handler,Java,Android,Events,Handler,所以每次我运行这个代码,我的Android应用程序都会意外停止,我不明白为什么 import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.Te
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.TextView;
public class TheStupidTest extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView text1 = (TextView) findViewById(R.id.TextView01);
text1.setText("well this works at least");
Button yButton = (Button) findViewById(R.id.button_yellow);
yButton.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if ( event.equals(MotionEvent.ACTION_UP) ) {
text1.setText("You pressed the yellow button");
return true;
}
return false;
}
});
}
}
1问题是
MotionEvent.ACTION\u UP
属于int
类型,因此要使测试正确,您应该
if ( event.getAction() == MotionEvent.ACTION_UP) {
首先,一个
OnTouchListener
并不是一个真正适合按钮的监听器,除非你正在做非常特殊的事情。您应该为按钮
实现一个OnClickListener
也考虑C陈森张贴的内容。您没有正确地进行比较。
请参阅Pentium10中关于如何调试Android应用程序的帖子。您可以查看DDMS和logcat,以检查为什么按钮是OnTouchListener
而不是OnClickListener
?