0

ダイアログ メソッドを作成しようとしていますが、それを呼び出すと、強制的に閉じられます。丸太の猫で得られる唯一のものは次のとおりです。

dalvikvm スレッド = 1: キャッチされない例外で終了するスレッド (グループ = 0x40ab5c08)

致命的な例外: main java.lang.NullPoinerExeption

残りは標準だと思います

ここに私のコードの抜粋があります:

 Dialog PercentDialog;

 private void CreateDialog() {
    // TODO Auto-generated method stub
    Context context = Home.this;
    PercentDialog = new Dialog(context);
    //PercentDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    PercentDialog.setContentView(R.layout.percent_box);
    Button bOK = (Button) findViewById(R.id.bOK);
    Button bCancel = (Button) PercentDialog.findViewById(R.id.bCancel); 
    EditText etInt = (EditText) PercentDialog.findViewById(R.id.etInt); 
    TextView title = (TextView) PercentDialog.findViewById(R.id.tvTitle);   
    bOK.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {
            // TODO Auto-generated method stub

        }

    });
    bCancel.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {
            // TODO Auto-generated method stub
            PercentDialog.dismiss();
        }

    });

    PercentDialog.show();
}

次に、CreateDialog(); を使用します。メソッドを呼び出すことはできますが、強制的に閉じられます。

4

1 に答える 1

2

既存のコードから判断すると、この行は次のとおりです。

Button bOK = (Button) findViewById(R.id.bOK);

次のようにする必要があります。

Button bOK = (Button) PercentDialog.findViewById(R.id.bOK);

(また、変数は小文字で始める必要があるというJava の命名規則についてもお読みください。)

于 2012-12-28T21:15:26.303 に答える