0

我可能会缺少一些简单的东西吗?“kruis”图片出现在我的 ImageButton 上,所以我很确定我的 main.xml 很好,但是当我点击 ImageButton 时,我没有得到 Toast 并且 testView 没有改变......已经挣扎了几个小时现在,不知道我做错了什么!

package com.matchit;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;

public class matchit extends Activity {

OnClickListener cardListener;
TextView testView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    testView = (TextView)findViewById(R.id.test);

    ImageButton b1 = (ImageButton)findViewById(R.id.card1);

    b1.setImageResource(R.drawable.kruis);
    b1.setOnClickListener(cardListener);

    cardListener = new OnClickListener(){

        @Override
        public void onClick(View v) {

            testView.setText("its working");
            Toast.makeText(getApplicationContext(),
                    "its working",
                     Toast.LENGTH_LONG).show();
        }
    };
}

}

4

1 回答 1

5

此行的cardListener值为 null:

  b1.setOnClickListener(cardListener);

之后移动这条线cardListener = new OnClickListener(){

cardListener = new OnClickListener(){

    @Override
    public void onClick(View v) {

        testView.setText("its working");
        Toast.makeText(getApplicationContext(),
                "its working",
                 Toast.LENGTH_LONG).show();
    }
};

// moved down
b1.setOnClickListener(cardListener);
于 2010-12-29T10:52:08.650 回答