0

私はこのような MainActivity.java ファイルを持っています

public class MainActivity extends Activity {
EditText etword, etmean;
Button binsert;
Context c;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    etword = (EditText) findViewById(R.id.etWord);
    etmean = (EditText) findViewById(R.id.etMeaning);
    binsert = (Button) findViewById(R.id.bInsert);


    setContentView(R.layout.activity_main);
}

}

このファイルは、ボタンに OnclickListener を設定しない場合にうまく機能します。しかし、そうすると、メインのアクティビティが開始されません。問題はどこだ????私はこのように onclicklistener を設定しています.... binsert.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            binsert.setTextColor(Color.BLUE);
        }
    });

これは、RuntimeException エラーと NullPointerException エラーを示しています。私は何が欠けていますか?

4

3 に答える 3

1

最初にコンテンツをアクティビティに設定してから、ビューを初期化する必要があります。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);  // should come first
etword = (EditText) findViewById(R.id.etWord); // then initialize views
etmean = (EditText) findViewById(R.id.etMeaning);
binsert = (Button) findViewById(R.id.bInsert);
}

findViewById現在のビュー階層をアクティビティに設定できます。初期化に失敗します。したがってNullPointerException

于 2013-08-15T11:08:20.477 に答える