在Android应用程序的ListView中按下某个项目时调用活动

时间:2011-07-15 04:52:57

标签: android listview click

当我在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

3 个答案:

答案 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);