Android-приложение всегда неожиданно останавливается, пытаясь сделать обработчик событий? - PullRequest
0 голосов
/ 12 июля 2010

Так что каждый раз, когда я запускаю этот код, мое приложение для 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;
        }


    });



    } 



}

Ответы [ 2 ]

1 голос
/ 12 июля 2010

1 проблема в том, что MotionEvent.ACTION_UP относится к типу int, поэтому для правильности вашего теста вы должны иметь

if ( event.getAction() == MotionEvent.ACTION_UP) {
0 голосов
/ 02 декабря 2010

Прежде всего, OnTouchListener на самом деле не подходит для Button, за исключением того, что вы делаете особые вещи. Вы должны реализовать OnClickListener для вашего Button.

А также подумайте, что написал ccheneson. Вы не сравниваете это правильно.

...