当我将arraylist从活动传递到片段时,我遇到了一个问题...我需要看到只有选中复选框的listivew(从arraylist中获取id),而在从arraylist获取id之后我看到列表视图之前获取id和列表视图。 ..
我用图片和代码显示我的问题。
与pic:
传递数据之前传递数据后
代码:
Bundle bundle = new Bundle();
bundle.putIntegerArrayList("oki", hm);
MyListFragment fragment = new MyListFragment();
fragment.setArguments(bundle);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container, fragment);
transaction.commit();
捆绑代码以获取数据:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bundle = getArguments();
if (bundle != null) {
strtext=bundle.getIntegerArrayList("oki");
System.out.println("PARAM:"+strtext);
}
}
谁能帮帮我? 谢谢大家!
答案 0 :(得分:0)
请参阅此
Bundle bundle = new Bundle();
bundle.putStringArrayList("valuesArray", namesArray);
namesFragment myFragment = new namesFragment();
myFragment.setArguments(bundle);
并在Fragment onCreateView方法中:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String strtext = getArguments().getStringArryList("valuesArray");
return inflater.inflate(R.layout.fragment, container, false);
}
答案 1 :(得分:0)
不是活动到片段之间传递数据的问题。问题是Fragment与另一个片段重叠。
将背景颜色设置为白色到片段的父根(每个片段,以便将来不会出现此类问题)。
这将解决您的问题。