intent传递复杂list的时候一般推荐实现两种不同的类接口,
但是更加简单的方式有3种:
1、将数据转化为String,接受端再进行转化回来。
2、单例模式,建一个类专门传递数据;
3、intent传递object ;
这里介绍第三种:
put端代码:
List<List<String>> lists = new ArrayList<List<String>>(); List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); List<String> list2 = new ArrayList<String>(); list2.add("11"); list2.add("12"); lists.add(list); lists.add(list2);
Intent intent = new Intent(mContext, CDAActivity.class); //无需实现Serializable接口,直接进行类型转换便可 intent.putExtra("list", (Serializable) lists); startActivity(intent);
get端代码:
Object o = getIntent().getSerializableExtra("list"); List<List<String>> lists = (List<List<String>>) o;
String s1 = lists.get(1).get(1);