android 如何避免在活动之间切换时清除列表视图

vohkndzv  于 2022-11-20  发布在  Android
关注(0)|答案(2)|浏览(130)

我正在使用一个适配器函数,它将在列表视图中查看当前位置。
列表视图工作正常,我的问题是,当切换到另一个活动,并返回到同一个活动,我的列表是明确的,它是从第一个我能做什么。提前感谢。
下面的代码是我的Intent活动。从这里我只在两个活动之间切换。
我的适配器是

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

下面的代码是我的Intent活动。从这个只有我有两个活动之间的切换。
下面如何才能做到活动切换

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) {

    }
});
k0pti3hp

k0pti3hp1#

我不确定你把适配器代码放在哪里了,看起来你把它放在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();
}
yk9xbfzb

yk9xbfzb2#

当您调用另一个Activity时,您可以在Intent上设置一个标志,以便它具有多个任务。

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

如果你想在退出应用程序时返回到listview的活动,你必须抓住后退按钮。
您可以覆盖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);
}

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

相关问题