Fragment互相转换+textView变换
来源:互联网 发布:网管软件 编辑:程序博客网 时间:2024/06/03 15:50
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RadioGroup radioGroup= (RadioGroup) findViewById(R.id.radio_group); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.radio_01: addFragment(new ShouYeFragment()); break; case R.id.radio_02: addFragment(new XiangfaFragment()); break; case R.id.radio_03: addFragment(new ShiChangFragment()); break; case R.id.radio_04: addFragment(new TongZhiFragment()); break; case R.id.radio_05: addFragment(new GengDuoFragment()); break; default: break; } } }); //添加“首页”页面 addFragment(new ShouYeFragment()); } public void addFragment(Fragment f){ FragmentManager manager=getSupportFragmentManager(); FragmentTransaction fragmentTransaction = manager.beginTransaction(); fragmentTransaction.replace(R.id.frame_layout,f); fragmentTransaction.commit(); }}
....................................................
无lv部分,lv是ListView
private TextView tv; private ListView lv; private List<String> datas=new ArrayList<String>(); private List<News> newDatas; private int index=0; private android.os.Handler myHandler=new android.os.Handler(){ @Override public void handleMessage(Message msg) { tv.setText(datas.get(index%datas.size())); index++; //延迟3秒再次发送消息 sendEmptyMessageDelayed(1,3000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView) findViewById(R.id.tv_news); lv= (ListView) findViewById(R.id.lv); //开启一个了线程 new Thread(){ @Override public void run() { try { //1.创建URL URL url=new URL("http://www.toutiao.com/hot_words/"); //2.打开连接,进行请求 HttpURLConnection connection= (HttpURLConnection) url.openConnection(); //3.设置 connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); //4.判断响应码 if(connection.getResponseCode()==200){ //5.得到返回结果 InputStream stream=connection.getInputStream(); //将流转换成字符串 String str=streamToString(stream); //进行解析 getJsonData(str); //发送一个空消息 myHandler.sendEmptyMessage(1); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } public void getJsonData(String str){ try { //Gson 原生解析 JSONArray array=new JSONArray(str); for(int i=0;i<array.length();i++){ String data=array.optString(i); datas.add(data); } } catch (JSONException e) { e.printStackTrace(); } } public String streamToString(InputStream inputStream){ StringBuilder builder=new StringBuilder(); try { BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"utf-8")); String con; while ((con=bufferedReader.readLine())!=null){ builder.append(con); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return builder.toString(); } class MyTask extends AsyncTask<String,Void,String> { @Override protected String doInBackground(String... params) { //1.创建httpClient HttpClient htttpClient=new DefaultHttpClient(); //2.创建httpget HttpGet httpGet=new HttpGet(params[0]); try { //3.执行请求 HttpResponse response=htttpClient.execute(httpGet); //4.判断响应吗 if(response.getStatusLine().getStatusCode()==200){ //5得到结果 HttpEntity entity=response.getEntity(); //6.将结果转换为String return EntityUtils.toString(entity); } } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); //使用gson 进行解析 Gson gson=new Gson(); Result result=gson.fromJson(s,Result.class); Log.d("zzz",result.toString()); newDatas=result.getNewslist(); //显在listView列表 lv.setAdapter(new MyAdapter()); } } class MyAdapter extends BaseAdapter{ @Override public int getCount() { return newDatas.size(); } @Override public Object getItem(int position) { return null; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView==null){ convertView=View.inflate(MainActivity.this,R.layout.item,null); holder=new ViewHolder(); holder.tvTitle= (TextView) convertView.findViewById(R.id.tv_title); holder.tvDate= (TextView) convertView.findViewById(R.id.tv_date); holder.imageView=(ImageView) convertView.findViewById(R.id.img); convertView.setTag(holder); }else{ holder=(ViewHolder) convertView.getTag(); } holder.tvTitle.setText(newDatas.get(position).getTitle()); holder.tvDate.setText(newDatas.get(position).getCtime()); return convertView; } @Override public long getItemId(int position) { return 0; } class ViewHolder{ TextView tvTitle; TextView tvDate; ImageView imageView; } }
Bean
public class Result { private List<News> newslist; public List<News> getNewslist() { return newslist; } public void setNewslist(List<News> newslist) { this.newslist = newslist; } @Override public String toString() { return "Result{" + "newslist=" + newslist + '}'; }}
阅读全文
0 0
- Fragment互相转换+textView变换
- Fragment+ViewPager+TextView
- Fragment +TextView 当前日期
- 简/繁体互相转换
- 数据类型的互相转换
- 简/繁体互相转换
- 编码互相转换
- 中文内码互相转换
- 数字字符串互相转换
- FAT32、NTFS互相转换
- String Pchar 互相转换
- NSDate NSString 互相转换
- J2SE进制间互相转换
- String - Array互相转换
- 十进制二进制互相转换
- 枚举类型互相转换
- List,数组互相转换
- 大小端互相转换
- jsp和Servlet的联系与区别
- 对象的创建、内存布局、访问定位
- java 数组删除的 委曲求全的 路
- 如何在Linux下写无线网卡的驱动
- 编写Shell脚本的最佳实践
- Fragment互相转换+textView变换
- 树形索引(键树)
- std::list<>::sort()排序分析
- oracle数据库迁移
- Qml旋转箭头
- docker在centos7下的一些坑
- Java-P3:工具类,继承,随机数random。
- SQL许可证有哪些问题需要考虑
- 【Android】Retrofit网络请求参数注解,@Path、@Query、@QueryMap...