将数据从活动传递到片段的问题

时间:2017-07-24 10:58:58

标签: java android android-fragments

当我将arraylist从活动传递到片段时,我遇到了一个问题...我需要看到只有选中复选框的listivew(从arraylist中获取id),而在从arraylist获取id之后我看到列表视图之前获取id和列表视图。 ..

我用图片和代码显示我的问题。

与pic:

传递数据之前

enter image description here

传递数据后

enter image description here

代码:

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);
        }
}

谁能帮帮我? 谢谢大家!

2 个答案:

答案 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与另一个片段重叠。

将背景颜色设置为白色到片段的父根(每个片段,以便将来不会出现此类问题)。

这将解决您的问题。