我有一个正常的android活动,其中包含选项的列表视图。选择选项后,它会通过意图启动片段活动。此片段活动本身包含一个操作栏,由3个片段组成。
我想要做的是根据活动的选择(包含列表视图) 选项)是将选定的位置编号发送到片段活动,从而发送3个片段
我发现了接口但是这些例子让人难以理解,有人可以帮助我。我只想将选定的位置发送给其他片段。
答案 0 :(得分:4)
将所选位置从活动传递到FragmentActivity可以使用Bundle
你的意图应该是这样的:
Intent intent = new Intent(Activity.this, FragmentActivity.class);
intent.putExtra("idforthevalue",selectedPOsition);
startActivity(intent);
然后在FragmentActivity上,您可以检索值:
Bundle extras = getIntent().getExtras();
int position = 0;
if(extras != null) {
position = extras.getInt("idforthevalue");
}
根据您添加片段的方式,您还可以使用FragmentTransaction
FragmentManager fragmentManager = getFragmentManager(); // or getSupportFragmentManager() if you are using compat lib
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
FragmentX fragmentX = new FragmentX();
Bundle bundle = new Bundle();
bundle.putInt("idforthevalue", position);
fragmentX.setArguments(bundle);
fragmentTransaction.replace(id_of_container, fragmentX).commit();
您可以再次检索片段中的值
Bundle bundle = getArguments();
if(bundle != null) {
position = bundle.getInt("idforthevalue", 0);
}
你可以对三个片段做同样的事情。