GridView实现频道管理_

来源:互联网 发布:零基础学c语言txt下载 编辑:程序博客网 时间:2024/05/16 10:39
public class FragmentMe extends Fragment {    private GridView gv1;    private GridView gv2;    private GvBean gb;    private List<String> list1;    private List<String> list2;    private MyGv1Adapter adapter1;    private MyGv2Adapter adapter2;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = View.inflate(getActivity(), R.layout.frag_me,null);        gv1 = view.findViewById(R.id.ya_me_gv1);        gv2 = view.findViewById(R.id.ya_me_gv2);        list1 = new ArrayList<String>();        list2 = new ArrayList<String>();        initData();        return view;    }    private void initData() {        new AsyncTask<String,Integer,String>(){            @Override            protected void onPostExecute(String s) {                initGv();                super.onPostExecute(s);            }            @Override            protected String doInBackground(String... strings) {                getData();                return null;            }        }.execute();    }    private void initGv() {        for (int i = 0; i < gb.getChannel().size(); i++) {            list1.add(gb.getChannel().get(i).getChannel_me());            list2.add(gb.getChannel().get(i).getChannel_more());        }        adapter1 = new MyGv1Adapter();        gv1.setAdapter(adapter1);        adapter2 = new MyGv2Adapter();        gv2.setAdapter(adapter2);        gv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                list2.add(list1.get(i));                list1.remove(i);                adapter1.notifyDataSetChanged();                adapter2.notifyDataSetChanged();            }        });        gv2.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                list1.add(list2.get(i));                list2.remove(i);                adapter1.notifyDataSetChanged();                adapter2.notifyDataSetChanged();            }        });    }    private void getData() {        try {            URL url = new URL("http://result.eolinker.com/iYXEPGn4e9c6dafce6e5cdd23287d2bb136ee7e9194d3e9?uri=channel");            HttpURLConnection conn = (HttpURLConnection) url.openConnection();            int code = conn.getResponseCode();            if(code == 200){                Gson gson = new Gson();                gb = gson.fromJson(new InputStreamReader(conn.getInputStream(),"UTF-8"),GvBean.class);            }        } catch (Exception e) {            e.printStackTrace();        }    }    class MyGv1Adapter extends BaseAdapter{        @Override        public int getCount() {            if(list1 != null){                return list1.size();            }            return 0;        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            TextView tv1 = new TextView(getActivity());            tv1.setTextSize(20);            //tv1.setTextColor();            tv1.setText(list1.get(i));            return tv1;        }    }    class MyGv2Adapter extends BaseAdapter{        @Override        public int getCount() {            if(list2 != null){                return list2.size();            }            return 0;        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            TextView tv2 = new TextView(getActivity());            tv2.setTextSize(20);            tv2.setText(list2.get(i));            return tv2;        }    }}

原创粉丝点击