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

Java 将数据从活动传递到片段的问题,java,android,android-fragments,Java,Android,Android Fragments,当我将arraylist从activity传递到fragment时出现问题…我只需要查看选中复选框的listivew(从arraylist获取id),而在从arraylist获取id之前查看列表视图,在获取id之后查看列表视图 我用图片和代码显示我的问题 附图片: 通过数据前 通过后数据 代码为: Bundle bundle = new Bundle(); bundle.putIntegerArrayList("oki", hm); MyListFragme

当我将arraylist从activity传递到fragment时出现问题…我只需要查看选中复选框的listivew(从arraylist获取id),而在从arraylist获取id之前查看列表视图,在获取id之后查看列表视图

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

附图片:

通过数据前

通过后数据

代码为:

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);
        }
}
谁能帮我? 谢谢大家

请参考此

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

这不是在活动和片段之间传递数据的问题。问题是该片段重叠在另一个片段上

将背景色白色设置为片段的父根(每个片段都是白色的,这样以后就不会出现这种类型的问题)


这将解决您的问题。

从bundle中检索数据的代码在哪里?ArrayList是字符串类型还是类似于模型类型数组列表的CustomType?@ManojSrivastava ArrayList包含要选中的复选框id,因此在integer typeyes中,片段重叠在另一个片段上…现在我试着按照你的建议将背景设置为白色…我怎么知道没有看到代码?请将您的代码发布在这里,以便每个人都可以检查。我创建了另一个问题来解释我的新问题?使用您的建议选项卡不会滚动,因为背景白色片段重叠在其他片段上String strtext=getArguments().getStringArryList(“valuesArray”);使我崩溃应用程序…我放入try-catch块字符串strtext=getArguments().getStringArryList(“valuesArray”);因此,应用程序不会崩溃,但getArguments()不会获取参数……因此arraylist为空FragmentTransaction=getSupportFragmentManager().beginTransaction();事务.replace(R.id.container,fragment);commit();以这种方式传递数据,但片段重叠在片段上。。。。。。