Намерение только показать конструктор только с одним параметром - PullRequest
0 голосов
/ 12 ноября 2018

Я хочу начать упражнение, когда нажата кнопка, но проблема в том, что в android studio отображается только один конструктор! Я хочу использовать конструктор с двумя параметрами следующим образом: снимок экрана

Intent intent = new Intent (this, myActivityName.class);

Примечание: Intent было импортировано.

Ответы [ 3 ]

0 голосов
/ 12 ноября 2018

На самом деле вы можете написать. Если вы не можете загрузить изображение с разработанным setonitemclicklistener и ошибкой, которая подчеркнута красной линией.

Полезные ссылки:

https://developer.android.com/reference/android/content/Intent

как начать новую деятельность через gridview onitemclick?

0 голосов
/ 12 ноября 2018

На этом снимке экрана текст в скобках - , а не документация параметров конструктора, это определение пакета для класса. В данном конкретном случае вам сообщают, что класс Intent в первой строке является частью пакета android.content.

Это не очень полезно в вашем случае, но в других случаях это поможет вам различать два класса с одинаковыми именами. Например, вы можете увидеть

  • Date (java.util)
  • Date (java.sql)
  • ...

Если вы правильно импортировали android.content.Intent, и Android Studio по-прежнему выдает ошибку при попытке использовать нужный конструктор, я предполагаю, что проблема заключается в том, что вы передаете неверный аргумент конструктору. Очень легко случайно написать это:

Intent intent = new Intent(this, MyOtherActivity.class);

Когда вы находитесь внутри анонимного внутреннего класса, например OnItemClickListener, ключевое слово this фактически относится к прослушивателю щелчков, а не к вашей активности. Однако вы можете указать ключевое слово this, чтобы получить желаемое поведение:

Intent intent = new Intent(VegetablesViewActivity.this, MyOtherActivity.class);
0 голосов
/ 12 ноября 2018

Вы можете просто вызвать новый Intent с двумя параметрами, и он должен работать.Тот факт, что AS не показывает подпись конструктора, не означает, что ее там нет.

Как уже упоминалось выше, вам также нужно вызвать

Intent(YourActivityName.this, myActivityName.class);

вместо

* 1007.*

В последнем случае this будет ссылаться на анонимный класс, созданный вами для реализации интерфейса OnClickListener

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...