我之前问过这个问题,并认为它正在工作并删除了这个问题,但因为发现这不起作用。我的ViewPager
应用程序中有一个,每个Fragment
都ViewPager
持有一个ListView
. When an item in the ListView
is selected, I am starting a new activity in onListItemClick
:
@Override
public void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
final Intent browser = new Intent(activity, Browser.class);
startActivity(browser);
}
问题是,当我按下后退按钮或 中的 Home 按钮时Actionbar
,ViewPager
它会自行重置以显示第一个片段。
这是我用于主页按钮的代码:
@Override
public boolean onOptionsItemSelected(final MenuItem item)
{
if (item.getItemId() == android.R.id.home) {
Intent intent = new Intent(this, Main.class);
startActivity(intent);
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
在我最初的问题中,建议将 Android Manifest 中的启动模式设置为singleTop
,这是我为启动活动以及从 启动的活动所做的ListView
,但这似乎并没有解决它。
我考虑过将ViewPager's
位置传递给新活动,然后onResume
从原始活动中检索它并手动设置ViewPager's
位置,但这对我来说似乎真的很暴力。