我是靠谱客的博主 伶俐煎饼,这篇文章主要介绍Activity之间传递List数据,现在分享给大家,希望可以做个参考。

关于Activity之间传递List<T>,一直以来没有时间去尝试,关于各种说法层出不穷,

1.Activity里面存静态变量,直接类名点获取.

2.Application里面设置一个属性,公开方法取什么的。

今天我们来看看另一种传法:

1.先看效果:



我们需要传的list里面的对象Bean.java的代码:


复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.example.intentlist; import java.io.Serializable; public class Bean implements Serializable { private int id; private String name; private int age; public Bean() { } public Bean(int id, String name, int age) { this.id = id; this.name = name; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }




MainActivity.java的代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.example.intentlist; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends ActionBarActivity { List<Bean> lstBean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lstBean = new ArrayList<Bean>(); Bean bean = new Bean(1, "张三", 12); lstBean.add(bean); Bean bean1 = new Bean(2, "李四", 13); lstBean.add(bean1); Bean bean2 = new Bean(3, "王五", 14); lstBean.add(bean2); Bean bean3 = new Bean(4, "赵六", 15); lstBean.add(bean3); ((Button) findViewById(R.id.btn_next)).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intentPut = new Intent(MainActivity.this, IntentTestActivity.class); intentPut.putExtra("lstBean", (Serializable) lstBean); startActivity(intentPut); } }); } }


接收list数据的界面IntentTestActivity.java的代码:


复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.example.intentlist; import java.util.List; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.widget.TextView; public class IntentTestActivity extends ActionBarActivity { @SuppressWarnings("unchecked") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_intent_test); Intent intentGet = getIntent(); List<Bean> lstBean = (List<Bean>) intentGet.getSerializableExtra("lstBean"); String result = "IntentTestActivity" + "n"; for (Bean bean : lstBean) { result += bean.getId() + "---" + bean.getName() + "---" + bean.getAge() + "n"; } ((TextView) findViewById(R.id.tv_result)).setText(result); } }

源码————> IntentList.zip

最后

以上就是伶俐煎饼最近收集整理的关于Activity之间传递List数据的全部内容,更多相关Activity之间传递List数据内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部