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 に答える