按下列表视图行

时间:2012-02-03 12:54:46

标签: java android

我有一个带有几个项目的列表视图,当我点击列表视图中的一行时,我设置了这个函数get call。

我想打开一个新活动,并从一个对象数组中向他发送一个对象。 我对这一行有疑问:

Intent i = new Intent(this, Item_Activity.class);

因为this现在不是活动。

这是代码:

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
         public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
             Intent i = new Intent(this, Item_Activity.class);
             Item item = m_items.get(position);
             i.putExtra("object", item);
             startActivity(i);
         }

    });

4 个答案:

答案 0 :(得分:2)

<强>问题:

您在

中传递错误的上下文
Intent i = new Intent(this, Item_Activity.class);

<强>解决方案:

如果仅使用YourActivityName.this

,请使用:this

例如。 Intent i = new Intent(CurrentActivityName.this, Item_Activity.class);

答案 1 :(得分:2)

仅添加ActivityName.this而不是

Intent i = new Intent(ActivityName.this,Item_Activity.class);

答案 2 :(得分:1)

你的Item是parcelable,如果没有通过以下链接使这个对象可以通过: http://prasanta-paul.blogspot.in/2010/06/android-parcelable-example.html

答案 3 :(得分:1)

您的对象必须是可序列化的或可分解的,我认为您无法通过 一个意图读入的数组 - How to pass an object from one activity to another on Android

更多的是

passing an array in intent android