我有一个名为register_information
的类,看起来像
// getting name
public String get_name()
{
return this.name;
}
// setting name
public void set_name(String name)
{
this.name=name;
}
我使用了一些代码来获取从MainActivity
注册的所有名称和密码。
List<register_information> all_reg_info_lists = db.get_all_info();
List<HashMap<String, String>> list_of_reg_info = new ArrayList<HashMap<String, String>>();
for (register_information reg_info : all_reg_info_lists)
{
HashMap<String, String> hm = new HashMap<String, String>();
String name = reg_info.get_name();
String password=reg_info.get_password() ;
hm.put("key_name",name);
hm.put("key_password",password);
list_of_reg_info.add(hm);
}
现在我想将这些所有名称和密码传递到另一个窗口,以便按意图将它们显示为列表视图。 我使用了这样的意图
Intent intObj = new Intent(MainActivity.this,showData_in_textView_class.class);
intObj.putExtra("data", list_of_reg_info);
startActivity(intObj);
在我的showData_in_textView_class
我收到了这样的意图
public class showData_in_textView_class extends Activity{
ArrayAdapter adapter;
List<register_information> reg_info_lists;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_xml_page);
Intent intename = getIntent();
reg_info_lists= (List)intename.getSerializableExtra("data");
}
}
但它没有用。 我怎么能这样做?
答案 0 :(得分:1)
答案 1 :(得分:0)
首先,您要将意图放入List<HashMap<String, String>>
,然后将其读回List<register_information>
我通常将Gson用于此类目的,用于json序列化/反序列化的google库。使用起来非常简单,在你的情况下,意图创建代码应该是这样的
Intent intObj = new Intent(MainActivity.this,showData_in_textView_class.class);
intObj.putExtra("data", new Gson().toJson(list_of_reg_info);
startActivity(intObj);
并获取数据
String json=getIntent.getStringExtra("data");
List<HashMap<String, String>> yourData=new Gson().fromJson("", new TypeToken<List<HashMap<String, String>>>() {
}.getType());
here你可以了解更多关于Gson的信息,相信我,非常强大!!
答案 2 :(得分:0)
我认为你可以直接打电话
reg_info_lists=db.get_all_info();
在你的其他活动中,而不是传递值。这是我能立即想到的解决方法。
您是否添加了任何日志以检查数据以找出intename.getSerializableExtra("data");
中的内容?