вызов действия при нажатии элемента в ListView в приложении Android - PullRequest
0 голосов
/ 15 июля 2011

Я хотел бы вызвать одно из действий, которые я написал в своем приложении для Android, когда я нажимаю элемент в ListView. Код, который я хочу использовать, таков:

    ListView lv = getListView();
    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
          .
          .
          .

          Intent lp = new Intent(this, myFirst.class);
          startActivity(lp);
        }
      });

Однако я получаю ошибку, связанную со следующими двумя строками:

          Intent lp = new Intent(this, myFirst.class);
          startActivity(lp);

В основном я хочу вызывать "myFirst" активность, когда элемент в моем списке просмотра нажата. Как правильно называть активность myFirst здесь?

Спасибо за помощь.

TJ

Ответы [ 3 ]

4 голосов
/ 15 июля 2011

Вы получаете эту ошибку, потому что вы передаете экземпляр OnItemClickListener своему намерению. Попробуйте передать экземпляр Actiity

Intent lp = new Intent(YourActivity.this, myFirst.class);
startActivity(lp);
1 голос
/ 15 июля 2011

Я думаю, что могу помочь тебе в этом.«this» может не относиться к вашей текущей активности.

Вместо «this» используйте следующее.

NameOfTheActivityThatIsCurrentlyOpen.this (то есть имя файла .this).Это всегда работает.

0 голосов
/ 15 июля 2011

вы можете сделать так

    Intent lp = new Intent(<filename>.this,myFirst.class);

или

Intent lp = new Intent(getApplicationContext(),myFirst.class);
lp.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(lp);
...