0

アプリ内でコイン フリップ オプションを作成する。これが私を殺している部分です:

public ImageView tails;


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

    .....

}

メニューで問題が発生する場所です:

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {


case R.id.coin_flip:

                final Context cointext = this;
                final Dialog flip = new Dialog(cointext);
                flip.setContentView(R.layout.coin);

                flip.setTitle("Coin Flip");
                flip.setCancelable(true);

                n = 99;
                n = (generator.nextInt(n)) + 1;
                tails.findViewById(R.id.tails).setVisibility(1);

                if (n % 2 == 0) {
                    tails.findViewById(R.id.tails).setVisibility(0);
                }else {
                    tails.findViewById(R.id.tails).setVisibility(1);
                }

                Button flipBtn = (Button)findViewById(R.id.flipBtn);
                flipBtn.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {

                        if (n % 2 == 0) {
                            tails.findViewById(R.id.tails).setVisibility(0);
                        }else {
                            tails.findViewById(R.id.tails).setVisibility(1);
                        }
                    }
                });

                flip.show();
}
}

私は NullPointerException を取得し続けます:

tails.findViewById(R.id.tails).setVisibility(1);

これを修正する方法はありますか?前もって感謝します

4

1 に答える 1

3

Tails は初期化されていません。

言うべき

tails = (ImageView)findViewById(R.id.tails);
tails.setVisibility(View.VISIBLE);
于 2012-09-06T17:55:11.277 に答える