当我在ListView中按下某个项目时,我想调用我在Android应用程序中编写的一个活动。 我想要使用的代码是:
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
答案 0 :(得分:4)
您收到此错误是因为您正在将OnItemClickListener
的实例传递给您的意图。
尝试传递Actiity
Intent lp = new Intent(YourActivity.this, myFirst.class);
startActivity(lp);
答案 1 :(得分:1)
我想我可以帮助你。 “这个”可能不是指你当前的活动。
请使用以下内容代替'this'。
NameOfTheActivityThatIsCurrentlyOpen.this(即filename.this)。这总是有效的。
答案 2 :(得分:0)
你可以这样做
Intent lp = new Intent(<filename>.this,myFirst.class);
或
Intent lp = new Intent(getApplicationContext(),myFirst.class);
lp.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(lp);