如何在一个活动与另一个活动之间切换时避免清除列表视图

时间:2015-04-20 05:59:30

标签: android listview

我正在使用一个适配器功能,它将在列表视图中查看当前位置。

列表视图工作正常,我的问题是在切换到另一个活动并返回相同的活动时,我的列表是清楚的,它从第一个开始我可以做什么。谢谢提前。

以下代码是我的Intent活动。 仅此而已,我在两个活动之间切换。

    My adapter is 

        Adapter = new MyTrip_listview_Adapter(MyTrip.this, location, Date_Array, imagesview, j, context, arrayplaces);
                                listViewplace.setAdapter(adapter);
                                listViewplace.setSelection(location.size() - 1);
                                adapter.notifyDataSetChanged();




The below code is my Intent activity.

仅此而我才在两个活动之间切换。

Here how can do the activity switching


     home_lay.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            popupWindow.dismiss();
                        }
                    });
                    trips_lay.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            Intent home_btn = new Intent(MyTrip.this, Trips_visited.class);
                            startActivity(home_btn);
                        }
                    });
                    notifi_lay.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            Intent home_btn = new Intent(MyTrip.this, Notification_from_friends.class);
                            startActivity (home_btn);
                        }
                    });
                    sett_lay.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {

                        }
                    });

请帮忙谢谢你的回复。

2 个答案:

答案 0 :(得分:1)

我不知道你把适配器代码放在哪里,好像你把它放在了onResume / onStart或其他东西上。

请使用:

if (adapter == null) {
    adapter = new MyTrip_listview_Adapter(MyTrip.this, location, Date_Array, imagesview, j, context, arrayplaces);
    listViewplace.setAdapter(adapter); 
    listViewplace.setSelection(location.size() - 1); 
} else {
    adapter.notifyDataSetChanged();
}

答案 1 :(得分:0)

当你调用另一个活动时,你可以在该意图上设置一个标志,以便它有多个任务。

Intent home_btn = new Intent(MyTrip.this, Trips_visited.class);
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(home_btn);

如果您想在退出应用时返回列表视图活动。 你必须抓住背压。

你可以覆盖onkeydown并添加moveTaskToBack(true)

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

                moveTaskToBack(true);

            return true;
        }
    }
    return super.onKeyDown(keyCode, event);
}

将此添加到您的第一个活动中。