1
final Button OptButton = (Button) findViewById(R.id.OptButton);
        OptButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent OptionsSc = new Intent(this, OptionsActivity.class);
                startActivity (OptionsSc);
            }
        });

Eclipse はその部分に下線を引き続けてnew Intent(this, OptionsActivity.class);いますが、その理由がわかりません。以前は、OptionsActivity へのこの呼び出しがハードウェアの [検索] ボタンに割り当てられていて、すべて正常に機能していました。

4

5 に答える 5

6

あなたの場合this、有効なものを参照しませんContext(で使用する場合のようにthisActivity、代わりに匿名の内部クラスクラスを参照します(メソッド宣言OnCLickListenerはどこにありますか)。onClick代わりに、次を使用する必要があります。

Intent OptionsSc = new Intent(YourActivityName.this, OptionsActivity.class);
于 2012-05-30T13:07:55.837 に答える
1

これは、onClickListenerクラス内にいて、これが現在のクラスのオブジェクトを参照しているためです。ここでは、getApplicationcontextまたはYourActivityName.thisを使用します。

これはあなたの問題を解決するはずです:)

于 2012-05-30T13:09:36.757 に答える
1

ボタンクリックリスナーに次のコードを記述します...

  Intent intent = new Intent (Main.this,Second.class);
  StartActivity(intent);
于 2012-05-30T13:09:49.700 に答える
0

このようなもののいずれかを試してください、

 Intent OptionsSc = new Intent(YourActivity.this, OptionsActivity.class);
                startActivity (OptionsSc);

また

startActivity(new Intent(YourActivity.this, OptionsActivity.class));    
于 2012-05-30T13:10:53.053 に答える
0

そのように使用できます。

Context c= MyActivityName.this;
Intent OptionsSc = new Intent(c, OptionsActivity.class);
于 2012-05-30T13:22:57.230 に答える