MainActivi
package com.example.week1_02; import android.support.annotation.IdRes; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.RadioGroup; import com.example.week1_02.Fragment.Fxain; import com.example.week1_02.Fragment.Shouye; import com.example.week1_02.Fragment.Xiazai; import com.example.week1_02.Utils.NetStateUtil; public class MainActivity extends AppCompatActivity { private RadioGroup rg; private Shouye shouye; public Xiazai xiazai; public Fxain fxain; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //判断网络是否连接 boolean conn = NetStateUtil.isConn(this); if (!conn){ NetStateUtil.showNoNetWorkDlg(this); } //获取控件 rg=(RadioGroup)findViewById(R.id.rg); //创建Shouye对象 shouye = new Shouye(); //开启事务 getSupportFragmentManager().beginTransaction().add(R.id.fl,shouye).commit(); //设置监听 rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) { //隐藏所有Fragment; hideFragments(); switch (checkedId) { case R.id.rb0: getSupportFragmentManager().beginTransaction().show(shouye).commit(); break; case R.id.rb1: if (fxain == null) { fxain = new Fxain(); getSupportFragmentManager().beginTransaction().add(R.id.fl, fxain).commit(); } else { getSupportFragmentManager().beginTransaction().show(fxain).commit(); } break; case R.id.rb2: if (xiazai == null) { xiazai = new Xiazai(); getSupportFragmentManager().beginTransaction().add(R.id.fl, xiazai).commit(); } else { getSupportFragmentManager().beginTransaction().show(xiazai).commit(); } break; } } }); } private void hideFragments(){ if(shouye!=null&&shouye.isAdded()){ getSupportFragmentManager().beginTransaction().hide(shouye).commit(); } if(fxain!=null&&fxain.isAdded()){ getSupportFragmentManager().beginTransaction().hide(fxain).commit(); } if(xiazai!=null&&xiazai.isAdded()){ getSupportFragmentManager().beginTransaction().hide(xiazai).commit(); } } }
Fragment
Fxain
package com.example.week1_02.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.example.week1_02.Bean.Result; import com.example.week1_02.R; import com.example.week1_02.Utils.ImageloaderUtil; import com.example.week1_02.Utils.MyTask; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /** * Created by DELL on 2017/11/4. */ public class Fxain extends Fragment { private ListView lv; private List<Result.NewslistBean> list; private MyAdapterss myAdapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.s_f1, null); //获取控件 lv=(ListView)view.findViewById(R.id.lv); //异步请求数据 MyTask myTask = new MyTask(new MyTask.Icallbacks() { @Override public void updataUiByjson(String jsonstr) { //创建Gson Gson gson = new Gson(); Result result = gson.fromJson(jsonstr, Result.class); //得到集合 list = result.getNewslist(); //设置适配器 setAdapter(); } }); myTask.execute(new String[]{"http://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10", "1"}); return view; } private void setAdapter() { if(myAdapter==null){ //设置适配器 myAdapter = new MyAdapterss(); lv.setAdapter(myAdapter); }else{ myAdapter.notifyDataSetChanged(); } } class MyAdapterss extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh; if (convertView==null){ vh = new ViewHolder(); convertView=View.inflate(getActivity(), R.layout.item_layout,null); vh.img=(ImageView)convertView.findViewById(R.id.image_view); vh.tv=(TextView)convertView.findViewById(R.id.text_title); convertView.setTag(vh); }else{ vh= (ViewHolder) convertView.getTag(); } //设置 vh.tv.setText(list.get(position).getTitle()); ImageLoader.getInstance().displayImage(list.get(position).getPicUrl(),vh.img, ImageloaderUtil.getImageOptions()); return convertView; } class ViewHolder{ private ImageView img; private TextView tv; } } }
Shouye
package com.example.week1_02.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.example.week1_02.Bean.Result; import com.example.week1_02.R; import com.example.week1_02.Utils.ImageloaderUtil; import com.example.week1_02.Utils.MyTask; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /** * Created by DELL on 2017/11/4. */ public class Shouye extends Fragment { private List<Result.NewslistBean> list; private ListView lv; private MyAdapterss myAdapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container , @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.s_f1, null); //获取控件 lv=(ListView)view.findViewById(R.id.lv); //异步请求数据 MyTask myTask = new MyTask(new MyTask.Icallbacks() { @Override public void updataUiByjson(String jsonstr) { //创建Gson Gson gson = new Gson(); Result result = gson.fromJson(jsonstr, Result.class); //得到集合 list = result.getNewslist(); //设置适配器 setAdapter(); } }); myTask.execute(new String[]{"https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10", "2"}); return view; } private void setAdapter() { if(myAdapter==null){ //设置适配器 myAdapter = new MyAdapterss(); lv.setAdapter(myAdapter); }else{ myAdapter.notifyDataSetChanged(); } } class MyAdapterss extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh; if (convertView==null){ vh = new ViewHolder(); convertView=View.inflate(getActivity(), R.layout.item_layout,null); vh.img=(ImageView)convertView.findViewById(R.id.image_view); vh.tv=(TextView)convertView.findViewById(R.id.text_title); convertView.setTag(vh); }else{ vh= (ViewHolder) convertView.getTag(); } //设置 vh.tv.setText(list.get(position).getTitle()); ImageLoader.getInstance().displayImage(list.get(position).getPicUrl(),vh.img, ImageloaderUtil.getImageOptions()); return convertView; } class ViewHolder{ private ImageView img; private TextView tv; } } }
Xiazai
package com.example.week1_02.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; /** * Created by DELL on 2017/11/4. */ public class Xiazai extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { TextView textView = new TextView(getActivity()); textView.setText("Fragment3"); return textView; } }
Bean
Result
package com.example.week1_02.Bean; import java.util.List; /** * Created by DELL on 2017/11/4. */ public class Result { /** * code : 200 * msg : success * newslist : [{"ctime":"2017-11-04","title":"【龙燕】0-6月龄宝宝喂养攻略 (附案例解析)","description":"中国临床营养网","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-57413352.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757238&signature=V*BPAFqvh3gEWAf83g306kDtGFqmhdzoLz6Fu9QLPElPkMYMOyekrGcbOtDGFe2Eh3XjFfQjjnmIvrisIssAGNc0eEp8-sdBlZYFPWppbLo="},{"ctime":"2017-11-04","title":"郑州会议丨你想知道的2017郑州会议信息都在这里!","description":"中国临床营养网","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-56983515.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757238&signature=fv4Q8tAIqU854iRgxGWcCafJu4GwHKIOj3jlOfrL0Zb6-uD3OZNrnYbBHstYG85eI8pstjNafZXFbzeaCeFe3BLhfxcMW5sU*5ZAng1WJp4="},{"ctime":"2017-11-04","title":"在历史巨变的转折点上,这部年代久远的连环画《兴唐传》值得深读和收藏!","description":"全球局势战略纵横","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-57343356.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757238&signature=1tNxaP-5hjWl8ZniKjMZLmR9o8ky3kSXPtIw2SzSwpYB6yKTCE98tfSDXPTD96FCNlrLTqLtgHXRIOdSraZq1q5HhJiKyY77BR3mqq8AVGY="},{"ctime":"2017-11-04","title":"吐TV丨95后已经被叫了多年阿姨 你觉得自己老了吗?","description":"狐狸罐头","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-57412728.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757237&signature=RnvUkbrYS6SmyvZ6CkHkOeTkP4oWCiUtdHi79LStWMtjgTJjYmURgKT7qsiB4rho159O7hCWFBSC8EtZF1RSDYmxQbwccqGiKB7Mi7trgm4="},{"ctime":"2017-11-04","title":"【向日葵】蓬莱阁游记(朗读版)","description":"营口日报","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-57412747.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757237&signature=xGaQ2FwFDS0bNH07SMxBlm3VBpFqRH6x3RdgY9gC-ZrkyWQ-lEHEL4mHGAOY3owqK9KKtfpq*Kar8m9mxsCf*rWcyhv9LN9R73idGwyZICs="},{"ctime":"2017-11-04","title":"【向日葵】寻秋之旅(朗读版)","description":"营口日报","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-57412748.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757237&signature=axKy*FHv8xzYoCXuG9mI3jy1hTHHmoCS0T7w3OA5*b-2K8P5D9Zd5PuB-iH4YmFj6Oi31te8sEJEpoq1FajtGiZHFOLF8Je3gQ*Zssd4AyI="},{"ctime":"2017-11-04","title":"【史话】上世纪二三十年代营口辽河码头(下)","description":"营口日报","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-57412749.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757236&signature=JvUUXioVflPF4zeGnOfuTSEx4f0eEKUUTcrG*JXdVvlSwgVHEsuNlIx219MPNy*KQHeh*prjs1wn2nG*i0ZsNGJSQpIw2tPKU92dX9sgm-Y="},{"ctime":"2017-11-04","title":"哪几种女人出轨了,老公却舍不得离婚?","description":"毒舌女","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-57412698.static/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757236&signature=kxOgDjltz2GTBHh6WYP0Qvk*vIE1f2uFvOE0qEJClVH6d-YoFFNp9MxXSXOfmAbF4BLE6XyW56tXbeYFUnVpvcuT1pUNGotc6UYLISJqhNs="},{"ctime":"2017-11-04","title":"昨天晚上,小婴儿坠入湛河,两位好心人急忙跳水相救\u2026\u2026","description":"平顶山微报","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-45413836.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757236&signature=Wdc4p1QQ1fjgP1RIpEZQn5JqVcaub50hPk8*7g6joWV4ea3PMRf1vY6EnSPVMNQ3uDaf*4ITRmqVDmiuqzNxQID6e1bTDFXh7v7R4CbgzFI="},{"ctime":"2017-11-04","title":"八年双11如中国零售罗曼蒂克史,理性和爱成关键词","description":"艾瑞网","picUrl":"https://t1.qpic.cn/mblogpic/48da2c609d0a7f9d083e/2000","url":"https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757235&signature=scyWIEbljOZ4kws8drQNGk5ZDEpKMJob5G6tPfN2vNsAvVXd*TeJNVibumDvJzVXc3s3YsUXNGzeBRESDLQ3VbvKZtQJKvyMWRFcExC9PEg="}] */ private int code; private String msg; private List<NewslistBean> newslist; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public List<NewslistBean> getNewslist() { return newslist; } public void setNewslist(List<NewslistBean> newslist) { this.newslist = newslist; } public static class NewslistBean { /** * ctime : 2017-11-04 * title : 【龙燕】0-6月龄宝宝喂养攻略 (附案例解析) * description : 中国临床营养网 * picUrl : https://zxpic.gtimg.com/infonew/0/wechat_pics_-57413352.jpg/640 * url : https://mp.weixin.qq.com/s?src=16&ver=467×tamp=1509757238&signature=V*BPAFqvh3gEWAf83g306kDtGFqmhdzoLz6Fu9QLPElPkMYMOyekrGcbOtDGFe2Eh3XjFfQjjnmIvrisIssAGNc0eEp8-sdBlZYFPWppbLo= */ private String ctime; private String title; private String description; private String picUrl; private String url; public String getCtime() { return ctime; } public void setCtime(String ctime) { this.ctime = ctime; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getPicUrl() { return picUrl; } public void setPicUrl(String picUrl) { this.picUrl = picUrl; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } } }