在setOnItemClickListener事件的listview中创建intent

时间:2014-04-01 13:15:54

标签: android android-listview onitemclicklistener

我有一个简单的应用程序来实现Activity 我正在实施list-view onItemClickListener,如下所示。但是,我需要在这个函数中创建一个Intent。

我怎样才能做到这一点?

listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView <? > arg0, View arg1, int arg2,
        long arg3) {
        // TODO Auto-generated method stub
        Toast.makeText(getBaseContext(), "Click", Toast.LENGTH_LONG).show();
        //need to create intent here to load view

        Intent myintent = new Intent(this, MYclass.class);
        // but this gives me error
        myintent.putExtra("id", "test");
        startActivity(myintent);

    }

});

5 个答案:

答案 0 :(得分:5)

你应该在发布之前进行一些搜索,我相信你可以找到很多例子 我认为你的问题是

Intent myintent = new  Intent(this,MYclass.class);

将其更改为

Intent myintent = new  Intent(YourCurrentActivityName.this,MYclass.class);

答案 1 :(得分:2)

将此行更改为

Intent myintent = new Intent(**YourCurrentActivity**.this,MYclass.class);

答案 2 :(得分:2)

你在一个匿名的内部类中,所以this不会在这里使用,如下所示:

Intent myintent = new  Intent(CurrentClassName.this,MYclass.class);

答案 3 :(得分:1)

new Intent()将上下文作为第一个参数。在匿名OnItemClickListener中,'this'不表示上下文因此无法正常工作。尝试使用新的

Intent([ThisClass].this, MYclass.class);

答案 4 :(得分:1)

Use
Intent i = new  Intent(YourClassName.this,MYclass.class);
startActivity(i);

OR

Intent i = new  Intent(getApplicationContext(),MYclass.class);
startActivity(i);