【问题标题】:how to pass list view data to another list view?如何将列表视图数据传递给另一个列表视图?
【发布时间】:2018-03-14 06:54:26
【问题描述】:

我有两个片段, 我想将列表视图数据从片段 1 发送到片段 2。

当用户单击Fragment1_listview.xml 上的按钮时,fragment2_listview 将出现,并且它具有来自 fragment1 的相同数据。

MainActivity.java

           @Override
           protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.activity_cart);

        CartFragment();
               FragmentManager manager = getSupportFragmentManager();
               final int commit = 
        manager.beginTransaction().replace(R.id.fragment_container, cartFragment,
                       cartFragment.getTag()).commit();

           }

           }

Fragment1.java

        @Override
        public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                                Bundle savedInstanceState) {
           view = inflater.inflate(R.layout.fragment_cart, container, false);




           return view;
        }

            @Override
            public void processFinish(String s) {



           try {
               itemList = new JsonConverter<Cart>().toArrayList(s, Cart.class);
           } catch (Exception e) {
               e.printStackTrace();
           }


           BindDictionary dic = new BindDictionary();

                   dic.addStringField(R.id.tvName, new StringExtractor<Cart>() {
               @Override
               public String getStringValue(Cart item, int position) {
                   return item.orderName;
               }
           });

           dic.addStringField(R.id.tvDesc, new StringExtractor<Cart>() {
               @Override
               public String getStringValue(Cart item, int position) {
                   return item.description;
               }
           }).visibilityIfNull(View.GONE);



           adapter = new FunDapter<>(CartFragment.this.getActivity(), itemList, 
           R.layout.cart_row, dic);
           lv = (ListView)view.findViewById(R.id.lvCart);
           lv.setAdapter(adapter);

           lv.setOnItemClickListener(this);


    }

Fragment2.java

        public View onCreateView(LayoutInflater inflater, final  ViewGroup 
        container,
                                Bundle savedInstanceState) {

            view = inflater.inflate(R.layout.fragment_payment, container, false);


       return view;
    }

但我不知道该怎么做。请帮帮我。

【问题讨论】:

标签: android listview android-fragments


【解决方案1】:

我认为对您来说最好的解决方案是将变量放在主要活动中并从片段中访问它们。我的意思是,如果您必须在所有片段中执行相同的操作,您可以在 Activity 中编写代码,然后调用您需要的方法。

【讨论】:

    猜你喜欢
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    相关资源
    最近更新 更多