在onItemClick列表中使用Intent

Ron*_*nie 2 android listview click android-intent

我正在进行第二次活动(主要),如下所示:

Login -> Main -> Vforum
Run Code Online (Sandbox Code Playgroud)

我设法在Login活动中使用类似的Intent进入Main活动:

Intent logMeIn = new Intent(this,Main.class);
startActivity(logMeIn);
Run Code Online (Sandbox Code Playgroud)

这很好.我现在的问题是从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);
    }
});
Run Code Online (Sandbox Code Playgroud)

projectList是一个ListView.Eclipse说:

The constructor Intent(new AdapterView.OnItemClickListener(){}, Class<Vforum>) is undefined
Run Code Online (Sandbox Code Playgroud)

我不知道该把this它放在哪里修理它.我只想参加我的第三项活动(Vforum).

Gli*_*gor 9

是的.曾经有过类似的问题.我的解决方案是执行以下操作(使用您的示例):

- 在您的Main活动中放置一个私有上下文,如下所示:

private Context mCtx;
Run Code Online (Sandbox Code Playgroud)

- 在您的Main活动onCreate()方法中将此行放在某处:

mCtx = this;
Run Code Online (Sandbox Code Playgroud)

- 创建意图时使用mCtx而不是:

Intent launchVforum = new Intent(mCtx, Vforum.class);
Run Code Online (Sandbox Code Playgroud)

  • 要解释,问题是第一个参数需要是Context对象.如果您不想保存上下文,也可以尝试Main.this (3认同)