我有一个带有几个项目的列表视图,当我点击列表视图中的一行时,我设置了这个函数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);
}
});
答案 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
更多的是