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; } }}
阅读全文
0 0
- GridView实现频道管理_
- GridView频道管理
- 简单实现频道管理
- 快速实现频道管理
- RecyclerView实现频道管理
- Android_Recyclerview实现频道管理
- 实现频道管理
- 实现频道管理
- android 频道管理的实现
- 频道管理的简单实现
- 频道管理的依赖实现
- gridview实现youku TV的频道样式
- Android GridView 仿今日头条频道管理
- Android 自定义GridLayout实现频道管理
- 频道管理依赖以及代码实现
- 简易实现项目的频道管理(防)
- 频道管理封装5步实现
- 简易实现项目的频道管理
- 小程序思维导图,让小程序不再难懂
- C++中值传递、指针传递、引用传递的总结
- Halcon MFC 条码识别
- 实现两个文件内容逐行进行对比的shell脚本
- XAMPP启动Apache报Apache shutdown unexpectedly错误问题
- GridView实现频道管理_
- [leetcode]70. Climbing Stairs
- 解压缩文件后无法删除
- 鸟哥的Linux私房菜(基础学习篇)笔记
- PHP下基于创蓝253接口的短信发送
- cmake 入门教程之编译一个源文件
- ArcGIS使用 -- 按feature选中
- Intent传值收不到的原因
- (转载)Linux OOM Killer个人总结