使用 'if (position == x)' 替换主片段
Replace master fragment using 'if (position == x)'
我有一个包含 3 个项目的虚拟内容列表,但我希望每个项目都打开自己的 activity 而不是将数据传递到详细信息片段。单击特定列表项时,如何用我自己的列表片段替换主片段?是否可以对我的每个项目使用 if (position == x)
语句?下面的代码替换了细节片段,但我想替换主片段。我还没有看到任何关于这方面的教程,因为我遇到的所有教程都与替换细节片段相关,而不是主片段。
@Override
public void onItemSelected(String id) {
if (mTwoPane) {
Bundle arguments = new Bundle();
arguments.putString(ItemDetailFragment.ARG_ITEM_ID, id);
ItemDetailFragment fragment = new ItemDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.replace(R.id.item_list, fragment)
.commit();
} else {
Intent detailIntent = new Intent(this, ContinentsListActivity.class);
detailIntent.putExtra(ItemDetailFragment.ARG_ITEM_ID, id);
startActivity(detailIntent);
}
}
您可能希望在每次向列表中添加项目时都使用 View.setTag(),因此稍后您可以使用 View.getTag() 检索此标签并识别所选项目。
我有一个包含 3 个项目的虚拟内容列表,但我希望每个项目都打开自己的 activity 而不是将数据传递到详细信息片段。单击特定列表项时,如何用我自己的列表片段替换主片段?是否可以对我的每个项目使用 if (position == x)
语句?下面的代码替换了细节片段,但我想替换主片段。我还没有看到任何关于这方面的教程,因为我遇到的所有教程都与替换细节片段相关,而不是主片段。
@Override
public void onItemSelected(String id) {
if (mTwoPane) {
Bundle arguments = new Bundle();
arguments.putString(ItemDetailFragment.ARG_ITEM_ID, id);
ItemDetailFragment fragment = new ItemDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.replace(R.id.item_list, fragment)
.commit();
} else {
Intent detailIntent = new Intent(this, ContinentsListActivity.class);
detailIntent.putExtra(ItemDetailFragment.ARG_ITEM_ID, id);
startActivity(detailIntent);
}
}
您可能希望在每次向列表中添加项目时都使用 View.setTag(),因此稍后您可以使用 View.getTag() 检索此标签并识别所选项目。