添加頻道的興趣愛好

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://");
            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;
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章