如何在onSaveInstanceState(Bundle outState)中保存ListView?

时间:2012-01-19 11:38:44

标签: android orientation

该列表是通过网络从远程供稿中提取的,因此我试图阻止通过其他网络拉动重新加载列表视图

基本上我只希望应用程序保存所有内容,然后在用户更改方向时自行恢复,而不必再创建另一个完整的回调数据源。

当我尝试将方向从横向更改为纵向时,反之亦然,它只需要纵向视图,并且列表视图中的所有对齐都会受到干扰。所以你能告诉我我该怎么办?

@Override
protected void onSaveInstanceState(Bundle outState) {

    super.onSaveInstanceState(outState);

    Seralize_List_Data list = new Seralize_List_Data();
    list.setList(myList);
    outState.putSerializable("key", list);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {

    super.onRestoreInstanceState(savedInstanceState);

    Seralize_List_Data list= (Seralize_List_Data) savedInstanceState.getSerializable("key");
    myList=list.getList();

    SimpleAdapter myAdapter = new SimpleAdapter(this, myList,
            R.layout.transactionvalues, new String[] {
                    "transaction_date_time", "user_name", "site_name",
                    "machine_name" }, new int[] { R.id.Date_Time,
                    R.id.User, R.id.Site, R.id.Machine });

    // View header =
    // (View)getLayoutInflater().inflate(R.layout.header,null);

    lst.setAdapter(myAdapter);
}

0 个答案:

没有答案