Android导航回活动;不要重新加载父母

时间:2015-07-09 23:38:08

标签: android android-activity

我有一个场景,我点击ListFragment并启动一个新的Activity,如下所示:

public void onListItemClick(ListView l, View v, int position, long id) {

  super.onListItemClick(l, v, position, id);

  Intent intent = new Intent(getActivity(), VenueBeerActivity.class);
  Parcelable wrapped = Parcels.wrap(mAdapter.getItem(position));
  intent.putExtra("venue", wrapped);

  startActivity(intent);
}

这样可以正常工作并显示新活动。

我已修改此活动清单,因此它指回其父活动(在本例中为主要活动)

然而我遇到的问题是当按下后退按钮时,它会重新加载整个父按钮。父母是一个列表,我不希望它重新加载用户的位置。我该如何防止这种情况?

作为一个说明。父母有一个Page Tab Strip。

我确定这是一个相对简单的修复......

2 个答案:

答案 0 :(得分:8)

你是什么意思"后退按钮"?它是工具栏中的向上按钮吗?如果是这种情况,请将onOptionsItemSelected中的VenueBeerActivity修改为:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch (id) {
        case android.R.id.home:
            onBackPressed();
            return true;  
    }

    return super.onOptionsItemSelected(item);
}

因此,当用户按下向上按钮时,它将获得导航栏中后退按钮的行为。

答案 1 :(得分:1)

在父活动中,将android:launchMode属性设置为singleTop。这会阻止系统在按下向上按钮时创建新的父实例。