点击listview条目向fragment中传值

来源:互联网 发布:java.util详解 编辑:程序博客网 时间:2024/05/23 22:42

=========================布局   主布局===================================

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:background="#8f0"    android:orientation="horizontal"    android:layout_height="match_parent">    <ListView        android:id="@+id/my_lv"        android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="2">    </ListView>    <FrameLayout        android:id="@+id/my_framelayout"        android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="8"        ></FrameLayout></LinearLayout>
========================代码===============================================
public class FragmentMy extends Fragment{    private ListView listView;    private FrameLayout frameLayout;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_my, container, false);        listView = (ListView) view.findViewById(R.id.my_lv);        frameLayout = (FrameLayout) view.findViewById(R.id.my_framelayout);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        final List<String> list=new ArrayList<>();        list.add("头条");        list.add("军事");        list.add("娱乐");        list.add("财经");        list.add("科技");        list.add("游戏");        listView.setAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,list));        My_Child_Fragment fragment=new My_Child_Fragment();        Bundle bundle=new Bundle();        bundle.putString("name",list.get(0));        fragment.setArguments(bundle);        getChildFragmentManager().beginTransaction().replace(R.id.my_framelayout,fragment).commit();        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                My_Child_Fragment fragment=new My_Child_Fragment();                Bundle bundle=new Bundle();                bundle.putString("name",list.get(i));                fragment.setArguments(bundle);                getChildFragmentManager().beginTransaction().replace(R.id.my_framelayout,fragment).commit();            }        });    }}
================================子布局====================
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <GridView        android:id="@+id/my_gv"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:numColumns="2"></GridView></LinearLayout>
==========================代码=======================================
public class My_Child_Fragment extends Fragment{    private GridView gridView;    private String name;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.my_child_frag, container, false);        gridView = (GridView) view.findViewById(R.id.my_gv);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        name = getArguments().getString("name");        if (name.equals("头条")){            name = "top";        }else if (name.equals("军事")){            name = "junshi";        }else if (name.equals("娱乐")){            name = "shehui";        }else if (name.equals("财经")){            name = "caijing";        }else if (name.equals("科技")){            name = " keji";        }else if (name.equals("游戏")){            name = "youxi";        }        String path="http://v.juhe.cn/toutiao/index?type="+ name +"&key=56f60ed0ce2479e727cd5e39b795928c&page=1";        NetConnection.getconnection(getActivity(), path, new CallJsonBack() {            @Override            public void getcallBack(String json) {                if (json!=null){                    Gson gson=new Gson();                    MyGridBean myGridBean = gson.fromJson(json, MyGridBean.class);                    List<MyGridBean.ResultBean.DataBean> data = myGridBean.getResult().getData();                    MyGridAdapter gridAdapter=new MyGridAdapter(data,getActivity());                    gridView.setAdapter(gridAdapter);                }            }        });    }}
//其他代码省略。。。。。。。。。。。。。。。。。。。。

原创粉丝点击