我有一个带有“x”个片段的视图寻呼机,第一个是“HomeFragment”:它包含2个下拉列表(Spinner)
其他片段的UI(FragmentA,FragmentB,FragmentC,.....等)根据这些微调器的选定项目值而变化
所以问题是:如何从“HomeFragmet”中的微调器中传递此选定项目值以在其他片段中使用?
答案 0 :(得分:0)
尝试将选定的值传递给主片段..
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Fragment fragment = new HomeFragment();
Bundle bundle = new Bundle();
bundle.putString("Key",spinner.getSelectedItem().toString());
fragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_frame, fragment, fragment.getClass().getSimpleName()).addToBackStack(null).commit();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
和In Home片段以这种方式获取价值..
下面的代码调用onCreate方法或onCreateView方法..
Bundle bundle = this.getArguments();
if (bundle != null) {
int i = bundle.getString("key", "defaulValue");
}