#android #listview #click #android-intent
#Android #просмотр списка #нажмите #android-намерение
Вопрос:
Я выполняю свое второе действие (основное) вот так:
Login -> Main -> Vforum
Мне удалось перейти к основному действию, используя подобное намерение в операции входа:
Intent logMeIn = new Intent(this,Main.class);
startActivity(logMeIn);
Это работает нормально. Моя проблема прямо сейчас заключается в переходе с Main на Vforum.
projectList.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Intent launchVforum = new Intent(this, Vforum.class);
startActivity(launchVforum);
}
});
projectList
является ListView
. Eclipse говорит:
The constructor Intent(new AdapterView.OnItemClickListener(){}, Class<Vforum>) is undefined
и я не знаю, что поместить, где this
это исправить. Я просто хочу перейти к своему третьему действию (Vforum).
Ответ №1:
Да. Однажды у меня была похожая проблема. Мое решение состояло в том, чтобы сделать следующее (используя ваш пример):
-В вашем основном действии укажите частный контекст следующим образом:
private Context mCtx;
-В вашем основном методе activity onCreate() поместите эту строку куда-нибудь:
mCtx = this;
-При создании намерения используйте mCtx вместо этого:
Intent launchVforum = new Intent(mCtx, Vforum.class);
Комментарии:
1. Чтобы объяснить, проблема в том, что первым параметром должен быть контекстный объект. Вы также можете попробовать Main.this, если вы не хотите сохранять контекст
Ответ №2:
projectList.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Intent launchVforum = new Intent(YourActivity.this, Vforum.class);
startActivity(launchVforum);
}
});