0

したがって、2 つの XML レイアウト ファイルがあります。
1 つはメニューで、もう 1 つはアプリです。
これで、1 つの XML ファイルにいくつかのボタンがあり、もう 1 つのファイルにいくつかのボタンがあります。

したがって、このコードは機能します:

    setContentView(R.layout.main);
    start = (Button) findViewById(R.id.button1);

    start.setOnClickListener(this);

しかし、ビューを変更してこれを書くと:

    setContentView(R.layout.random);
    add_person = (Button) findViewById(R.id.add);

    add_person.setOnClickListener(this); //crash here

アプリが落ちる!

4

3 に答える 3

3

add_personnullなので、Nullpointer Exceptionを取得し、random.xmlにidとして追加されたボタンがありますか?

そうでない場合は、追加します

<Button android:id="@+id/add" ... />
于 2012-05-05T11:15:53.823 に答える
0

Project->Cleanから現在のプロジェクトをクリーニングしてから試してください。

またはあなたが使用することができます

(Button)random.findViewById(R.id.add);

それ以外の

(Button) findViewById(R.id.add);
于 2012-05-05T11:34:56.593 に答える
0

onClickListner次のようにクラスを実装する必要があります。

public class <ClassName> extends Activity implements OnClickListener{

    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);
            start = (Button) findViewById(R.id.button1);
            start.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
           switch (v.getId()) {
               case R.id.button1:
                   //Hear Yor Logic on Click Event.
                   break;       
           }        
    }
}
于 2012-05-05T11:48:07.800 に答える