Java 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

所以每次我运行这个代码,我的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.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