Проблемы с намерением в Android

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); и я не понимаю почему. Ранее этот вызов функции OptionActivity был назначен кнопке поиска аппаратного обеспечения, и все работало нормально.

Теги:
button
android-intent

5 ответов

6
Лучший ответ

В вашем случае this не относится к действительному Context (например, при использовании this в Activity), вместо этого он ссылается на анонимный внутренний класс OnCLickListener класса (где находится onClick метод DECLARE). Вместо этого вы должны использовать:

Intent OptionsSc = new Intent(YourActivityName.this, OptionsActivity.class);
  • 0
    +1 ты меня свекла.
  • 0
    О, спасибо вам большое.
1

Это связано с тем, что вы находитесь внутри класса onClickListener, и это относится к объекту текущего класса, здесь либо используйте getApplicationcontext, либо YourActivityName.this

Это должно решить вашу проблему :)

1

Напишите следующий код в своем прослушивателе кнопок...

  Intent intent = new Intent (Main.this,Second.class);
  StartActivity(intent);
0

Вы можете так использовать;

Context c= MyActivityName.this;
Intent OptionsSc = new Intent(c, OptionsActivity.class);
0

Попробуйте любой из этого,

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

или

startActivity(new Intent(YourActivity.this, OptionsActivity.class));    
  • 0
    Проблема уже была объяснена и исправлена, но спасибо за вклад.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню