我正在尝试将一堆变量传递给另一个Activity, 但是在接收活动中它只能访问第一个元素。
我的listView1包含3个元素:2个TextViews和1个ImageView ...
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Intent intent = new Intent(parent.getContext(),
DisplayListEntry.class);
intent.putExtra("TOPIC", listView1.getAdapter().getItem(position).toString());
startActivityForResult(intent, 0);
接收活动:
Intent intent = getIntent();
String s1 = intent.getStringExtra("TOPIC");
我想通过Intent访问它们... 有人可以这么善良并告诉我它是如何完成的吗? :/
提前致谢!
答案 0 :(得分:0)
您可以根据需要添加PutExtra,使用不同的键和位置,在另一个类中使用键获取它。
答案 1 :(得分:0)
首先,您需要在下一个活动中纠正此问题
Bundle b = getIntent().getExtras();
if( b != null ){
String s1 = intent.getStringExtra("TOPIC");
}
答案 2 :(得分:0)
Intent intent = getIntent();
String s1 = intent.getStringExtra("TOPIC");
这里你s1声明为字符串..
它不起作用,因为你有通过arraylist .....
声明arraylist变量并尝试实现它..
答案 3 :(得分:0)
好的,您有三个视图,并希望将这些数据发送到另一个活动。
第一个问题是你在onItemClick中开始另一个活动,此时,你正在使用项目位置来获取当前值。没关系,但是您只获得了一个特定视图的值,该视图正在被点击。 。listView1.getAdapter()的getItem(位置)的ToString();
如果你真的想传递这三个值我的建议是:
例: Textview t1,t2; ImageView i1;
在onClick事件中,您将使用它将意图放入其中:
onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(parent.getContext(), DisplayListEntry.class);
intent.putExtra("key1",t1.getText());
intent.putExtra("key2",t2.getText());
intent.putExtra("key3",i2.get***());
startActivityForResult(intent, 0);
在另一项活动中,您可以访问这些值:
Intent intent = getIntent();
String s1 = intent.getStringExtra("key1");
String s2 = intent.getStringExtra("key2");
*** = intent.get****("key3");
您应该为要传递的数据类型更改***。