侧拉+xlistview+Fragment+Viewpager+判断网络状态
2017-11-10 20:52
465 查看
**
添加网络权限
依赖xlistviewlibrary
导jar包
**
activity_main
child1
child2,3
frag1
frag2,3,4
item0
item1
MainActivity
Bean
Childfragment1
Childfragment2,3
fragment1
fragment2,3,4
MApp
NetUtil
添加网络权限
依赖xlistviewlibrary
导jar包
**
activity_main
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.liuxingdou.month_lianxi.MainActivity"> <android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/draw" > <!--主内容区域--> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/frag" android:layout_weight="1" > </FrameLayout> <RadioGroup android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="30dp" android:id="@+id/rg" > <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="首页" android:textSize="20sp" android:id="@+id/rb1" android:gravity="center" android:button="@null" /> <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="购物车" android:textSize="20sp" android:id="@+id/rb2" android:gravity="center" android:button="@null" /> <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="我的" android:textSize="20sp" android:id="@+id/rb3" android:gravity="center" android:button="@null" /> <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="资料" android:textSize="20sp" android:id="@+id/rb4" android:gravity="center" android:button="@null" /> </RadioGroup> </LinearLayout> <RelativeLayout android:layout_width="260dp" android:layout_height="match_parent" android:id="@+id/rel_menu" android:layout_gravity="start" android:background="#E79B8B"> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/a3" android:layout_centerHorizontal="true" android:id="@+id/img_title" android:layout_marginBottom="50dp"/> <TextView 4000 android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:textSize="20dp" android:text="刘小豆" android:layout_below="@+id/img_title"/> </RelativeLayout> </android.support.v4.widget.DrawerLayout> </LinearLayout>
child1
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#E3D5C1" > <com.bwie.xlistviewlibrary.View.XListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/xlv" ></com.bwie.xlistviewlibrary.View.XListView> </LinearLayout>
child2,3
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#B6B8B3" > </LinearLayout>
frag1
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" > <RadioGroup android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal" android:id="@+id/rg" > <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:button="@null" android:text="资源" android:textSize="20dp" android:gravity="center" android:id="@+id/crb1" android:layout_weight="1" /> <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:button="@null" android:text="分类" android:textSize="20dp" android:gravity="center" android:id="@+id/crb2" android:layout_weight="1" /> <RadioButton android:layout_width="0dp" android:layout_height="match_parent" android:button="@null" android:text="精选" android:textSize="20dp" android:gravity="center" android:id="@+id/crb3" android:layout_weight="1" /> </RadioGroup> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp" android:layout_weight="1" ></android.support.v4.view.ViewPager> </LinearLayout>
frag2,3,4
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#F5CD19" > </LinearLayout>
item0
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:text="宣传宣传宣传下" android:id="@+id/desc"/> </LinearLayout>
item1
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_height="100dp" android:layout_width="100dp" android:id="@+id/iv" android:src="@mipmap/ic_launcher"/> <TextView android:layout_height="100dp" android:layout_width="match_parent" android:textSize="20sp" android:text="宣传宣传宣传下" android:id="@+id/desc1"/> </LinearLayout>
MainActivity
package com.liuxingdou.month_lianxi; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Color; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.support.v4.app.Fragment; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.telephony.TelephonyManager; import android.util.Log; import android.view.View; import android.widget.FrameLayout; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final RadioButton rb1 = (RadioButton) findViewById(R.id.rb1); final RadioButton rb2= (RadioButton) findViewById(R.id.rb2); final RadioButton rb3 = (RadioButton) findViewById(R.id.rb3); final RadioButton rb4 = (RadioButton) findViewById(R.id.rb4); final RadioGroup rg = (RadioGroup) findViewById(R.id.rg); final DrawerLayout draw = (DrawerLayout) findViewById(R.id.draw); final FrameLayout frag 1b20b = (FrameLayout) findViewById(R.id.frag); init(new fragment1()); rb1.setTextColor(Color.GREEN); rb2.setTextColor(Color.BLACK); rb3.setTextColor(Color.BLACK); rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (i) { case R.id.rb1: init(new fragment1()); rb1.setTextColor(Color.GREEN); rb2.setTextColor(Color.BLACK); rb3.setTextColor(Color.BLACK); rb4.setTextColor(Color.BLACK); break; case R.id.rb2: rb1.setTextColor(Color.BLACK); rb2.setTextColor(Color.GREEN); rb3.setTextColor(Color.BLACK); rb4.setTextColor(Color.BLACK); init(new fragment2()); break; case R.id.rb3: rb1.setTextColor(Color.BLACK); rb2.setTextColor(Color.BLACK); rb3.setTextColor(Color.GREEN); rb4.setTextColor(Color.BLACK); init(new fragment3()); break; case R.id.rb4: rb1.setTextColor(Color.BLACK); rb2.setTextColor(Color.BLACK); rb3.setTextColor(Color.BLACK); rb4.setTextColor(Color.GREEN); init(new fragment4()); break; } } }); draw.setDrawerListener(new DrawerLayout.DrawerListener() { @Override public void onDrawerSlide(View drawerView, float slideOffset) { } @Override public void onDrawerOpened(View drawerView) { Log.d("ccc","已打开"); } @Override public void onDrawerClosed(View drawerView) { Log.d("ccc","已关闭"); } @Override public void onDrawerStateChanged(int newState) { } }); checkMobileNet(); } private void checkMobileNet() { // 1.检测手机是否处于联网状态 // 1.得到系统服务ConnectivityManager ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // 2.得到网络信息类对象 NetworkInfo networkInfo = manager.getActiveNetworkInfo(); // 3.进行判断 if (networkInfo != null && networkInfo.isConnected()) { Toast.makeText(this, "已连接互联网!",Toast.LENGTH_SHORT).show(); // 检测手机的网络类型 int type = networkInfo.getType();// 得到网络类型 switch (type) { case ConnectivityManager.TYPE_WIFI:// wifi网络 Toast.makeText(this, "wifi!", Toast.LENGTH_SHORT).show(); break; case ConnectivityManager.TYPE_MOBILE:// 移动数据 Toast.makeText(this, "移动数据!", Toast.LENGTH_SHORT).show(); // 2g 3g 4g getDetailMobileNetType(networkInfo); break; } } else { Toast.makeText(this, "未连接互联网!", Toast.LENGTH_SHORT).show(); AlertDialog.Builder buider=new AlertDialog.Builder(this); buider.setTitle("网络连接设置"); buider.setMessage("未连接网络,是否要进行设置?"); buider.setPositiveButton("设置", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { //跳转到系统设置网络的界面 Intent intent=new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); startActivity(intent); } }); buider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { } }); buider.create().show(); } } public void init(Fragment fragment){ getSupportFragmentManager().beginTransaction().replace(R.id.frag, fragment).commit(); } // 得到详细的网络类型 wap 2G/3G/4G网络 public void getDetailMobileNetType(NetworkInfo netInfo) { String strNetworkType = ""; // 得到整数类型 int subtype = netInfo.getSubtype(); // 得到名子 String _strSubTypeName = netInfo.getSubtypeName(); switch (subtype) { case TelephonyManager.NETWORK_TYPE_GPRS:// 联通2G case TelephonyManager.NETWORK_TYPE_EDGE:// 移动2G case TelephonyManager.NETWORK_TYPE_CDMA:// 电信2G case TelephonyManager.NETWORK_TYPE_1xRTT: case TelephonyManager.NETWORK_TYPE_IDEN: // api<8 : replace by 11 strNetworkType = "2G"; break; case TelephonyManager.NETWORK_TYPE_UMTS: case TelephonyManager.NETWORK_TYPE_EVDO_0: case TelephonyManager.NETWORK_TYPE_EVDO_A: case TelephonyManager.NETWORK_TYPE_HSDPA: case TelephonyManager.NETWORK_TYPE_HSUPA: case TelephonyManager.NETWORK_TYPE_HSPA: case TelephonyManager.NETWORK_TYPE_EVDO_B: // api<9 : replace by 14 case TelephonyManager.NETWORK_TYPE_EHRPD: // api<11 : replace by 12 case TelephonyManager.NETWORK_TYPE_HSPAP: // api<13 : replace by 15 strNetworkType = "3G"; break; case TelephonyManager.NETWORK_TYPE_LTE: // api<11 : replace by 13 strNetworkType = "4G"; break; default: // http://baike.baidu.com/item/TD-SCDMA 中国移动 联通 电信 三种3G制式 if (_strSubTypeName.equalsIgnoreCase("TD-SCDMA") || _strSubTypeName.equalsIgnoreCase("WCDMA") || _strSubTypeName.equalsIgnoreCase("CDMA2000")) { strNetworkType = "3G"; } else { strNetworkType = _strSubTypeName; } break; } Log.d("zzz", "网络类型是:" + strNetworkType); } }
Bean
package com.liuxingdou.month_lianxi; import java.util.List; public class Bean { /** * result : success * data : [{"ID":"30736417","TITLE":"九三学社中央十三届二十次常委会举行","SUBTITLE":" 九三学社第十三届中央常务委员会第二十次会议10月29日在京举行。会议学习贯彻","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/30/15_13_54_275_30248_A62I7285_fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-30","RN":1},{"ID":"30736385","TITLE":"九三学社中央关于学习贯彻中国共产党第十九次全国代表大会精神的决议","SUBTITLE":"(2017年10月29日九三学社第十三届中央常务委员会第二十次会议通过) 九三学","IMAGEURL":null,"FROMNAME":"九三学社中央委员会","SHOWTIME":"2017-10-30","RN":2},{"ID":"30670854","TITLE":"九三学社中央理论学习中心组集体学习中共十九大精神","SUBTITLE":"10月27日,九三学社中央理论学习中心组以中国共产党第十九次全国代表大会精神为主","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/27/17_56_50_751_85168_A62I6969_fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-27","RN":3},{"ID":"30801922","TITLE":"陈利浩:新时代民营企业迎来新机遇","SUBTITLE":"党的十九大报告提出,中国经济已经进入了一个新时代。在九三学社中央委员、广东省政协","IMAGEURL":null,"FROMNAME":"人民政协报","SHOWTIME":"2017-10-31","RN":4},{"ID":"30801921","TITLE":"韩启德在中共十九大精神通报会上发言","SUBTITLE":"受中共中央委托,中共中央政治局委员、中央统战部部长孙春兰10月26日向各民主党派","IMAGEURL":null,"FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-31","RN":5},{"ID":"30801920","TITLE":"央视推出《王选:方正之士》专题片","SUBTITLE":"近日,中央电视台科教频道(CCTV10)《大家》栏目推出《王选:方正之士》专题片","IMAGEURL":null,"FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-31","RN":6},{"ID":"30736418","TITLE":"李华栋:用习近平新时代中国特色社会主义思想统领江西九三学社各项工作","SUBTITLE":"中国共产党第十九次全国代表大会在举国关注、全球瞩目中完美落幕。大会召开前夕、召开","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/30/14_43_02_244_37081_11.jpg","FROMNAME":"九三学社江西省委","SHOWTIME":"2017-10-30","RN":7},{"ID":"30736384","TITLE":"潘建伟:2030年力争建成全球化量子通信网络","SUBTITLE":"2017年9月9日,2017年\u201c未来科学大奖\u201d在北京望京昆泰酒店揭晓。摘得物质科","IMAGEURL":null,"FROMNAME":"环球科学ScientificAmerican","SHOWTIME":"2017-10-29","RN":8},{"ID":"30670968","TITLE":"屈谦:以实际行动学习贯彻十九大精神","SUBTITLE":"党的十九大是在全面建成小康社会决胜阶段、中国特色社会主义进入新时代的关键时期召开","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/28/16_50_42_835_31484_tp1.jpg","FROMNAME":"九三学社重庆市委","SHOWTIME":"2017-10-28","RN":9},{"ID":"30670849","TITLE":"赵金云:新时代新使命新担当","SUBTITLE":"\u201c不忘初心,牢记使命\u2026\u2026\u201d习近平总书记所作的十九大报告开场语掷地有声、铿锵有力!","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/27/16_49_22_730_71846_500fd9f9d72a60591927c4412c34349b033bbab1.jpg","FROMNAME":"九三学社甘肃省委","SHOWTIME":"2017-10-27","RN":10},{"ID":"30670848","TITLE":"杜德志:共迎新时代 共赴新征程","SUBTITLE":"中国共产党第十九次全国代表大会描绘了决胜全面建成小康社会、夺取新时代中国特色社会","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/27/16_47_11_118_70164_1.jpg","FROMNAME":"九三学社青海省委","SHOWTIME":"2017-10-27","RN":11},{"ID":"e279f566db894a07a722c8cb2b84bc08","TITLE":"翟峰:把教育发展融入强国富民的历史洪流","SUBTITLE":"早在40年前,我下乡当知青的8年时间中,有6年的期间在农村学校担任民办教师。 虽","IMAGEURL":null,"FROMNAME":"《人民政协报》","SHOWTIME":"2017-10-27","RN":12},{"ID":"30605315","TITLE":"不要人夸颜色好 只留清气满乾坤","SUBTITLE":"\u2014\u2014九三学社中央学习中共十九大精神座谈会侧记","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/27/09_16_41_653_17828_A62I6673_fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-27","RN":13},{"ID":"30605312","TITLE":"赖明:把握经济新常态 促进县域小城市绿色发展","SUBTITLE":"10月13日,全国政协常委、提案委员会副主任,九三学社中央副主席赖明在四川省富顺","IMAGEURL":null,"FROMNAME":"九三学社四川省委","SHOWTIME":"2017-10-27","RN":14},{"ID":"5ab6704edc204085a09080583fbfecff","TITLE":"赵雯与社金融委员会社员座谈学习中共十九大会议精神","SUBTITLE":"10月26日下午,九三学社中央副主席、上海市委主委赵雯与九三学社上海市委金融委员","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/27/16_12_51_813_34990_920eb9731a5141de80aee62092fd4930_01.jpg","FROMNAME":"九三学社上海市委","SHOWTIME":"2017-10-26","RN":15},{"ID":"ed565d5cefc042768c1ea9118b86bffd","TITLE":"九三学社上海高校论坛第58次会议举行 赵雯出席","SUBTITLE":"进入人工智能和大数据时代,如何夺取关键技术制高点?高等院校如何在人才培养和学科建","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/27/16_15_53_763_45542_7b1f19b7f4684f2d91ba37a8e6b7f08d_02.jpg","FROMNAME":"九三学社上海市委","SHOWTIME":"2017-10-26","RN":16},{"ID":"30441636","TITLE":"九三学社第三期省级以下机关专职干部培训班举办","SUBTITLE":"10月的北京,是学习与收获的季节。16日,来自全国150多个地市的191名学员齐","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/26/09_24_30_877_91291_A62I6428_fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-26","RN":17},{"ID":"30441637","TITLE":"赵雯与上海社员共同学习中共十九大精神","SUBTITLE":"10月24日至25日,九三学社中央副主席、上海市委主委赵雯先后与九三学社上海卫生","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/26/11_15_03_901_49874_1.jpg","FROMNAME":"九三学社上海市委","SHOWTIME":"2017-10-26","RN":18},{"ID":"30441628","TITLE":"黄润秋:不忘初心 携手奋进","SUBTITLE":"在全面建成小康社会决胜阶段,在中国特色社会主义进入新时代的关键时期,中国共产党第","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/25/16_30_02_356_66785_hrqzp.jpg","FROMNAME":"九三学社四川省委","SHOWTIME":"2017-10-25","RN":19},{"ID":"30441627","TITLE":"张大方:不忘初心迈向新时代 牢记使命共赴新征程","SUBTITLE":"胜利闭幕的中国共产党第十九次全国代表大会是在全面建成小康社会关键阶段、中国特色社","IMAGEURL":"http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/25/16_31_17_049_81408_IMG_4907.jpg","FROMNAME":"九三学社湖南省委","SHOWTIME":"2017-10-25","RN":20}] * dataScroll : [{"ID":"30736417","TITLE":"九三学社中央十三届二十次常委会举行","SUBTITLE":null,"IMAGEURL":"/11002/upload/webcms/content/image/2017/10/30/15_16_42_506_60159_A62I7285_fb-fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-30","RN":1},{"ID":"30605315","TITLE":"不要人夸颜色好 只留清气满乾坤","SUBTITLE":"\u2014\u2014九三学社中央学习中共十九大精神座谈会侧记","IMAGEURL":"/11002/upload/webcms/content/image/2017/10/27/09_30_27_407_76424_A62I6673_fb_fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-27","RN":2},{"ID":"30670854","TITLE":"九三学社中央理论学习中心组集体学习中共十九大精神","SUBTITLE":null,"IMAGEURL":"/11002/upload/webcms/content/image/2017/10/27/17_56_33_201_79135_A62I6969_fb_fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-27","RN":3},{"ID":"30441636","TITLE":"九三学社第三期省级以下机关专职干部培训班举办","SUBTITLE":null,"IMAGEURL":"/11002/upload/webcms/content/image/2017/10/26/09_49_30_024_31563_A62I6428_fb_fb.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-26","RN":4},{"ID":"30310406","TITLE":"九三学社中央科学座谈会聚焦文物考古与丝绸之路","SUBTITLE":null,"IMAGEURL":"/11002/upload/webcms/content/image/2017/10/15/14_56_29_117_12420_01.jpg","FROMNAME":"九三学社中央宣传部","SHOWTIME":"2017-10-15","RN":5}] */ private String result; private List<DataBean> data; private List<DataScrollBean> dataScroll; public String getResult() { return result; } public void setResult(String result) { this.result = result; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public List<DataScrollBean> getDataScroll() { return dataScroll; } public void setDataScroll(List<DataScrollBean> dataScroll) { this.dataScroll = dataScroll; } public static class DataBean { /** * ID : 30736417 * TITLE : 九三学社中央十三届二十次常委会举行 * SUBTITLE : 九三学社第十三届中央常务委员会第二十次会议10月29日在京举行。会议学习贯彻 * IMAGEURL : http://www.93.gov.cn/11002/upload/webcms/content/image/2017/10/30/15_13_54_275_30248_A62I7285_fb.jpg * FROMNAME : 九三学社中央宣传部 * SHOWTIME : 2017-10-30 * RN : 1 */ private String ID; private String TITLE; private String SUBTITLE; private String IMAGEURL; private String FROMNAME; private String SHOWTIME; private int RN; public String getID() { return ID; } public void setID(String ID) { this.ID = ID; } public String getTITLE() { return TITLE; } public void setTITLE(String TITLE) { this.TITLE = TITLE; } public String getSUBTITLE() { return SUBTITLE; } public void setSUBTITLE(String SUBTITLE) { this.SUBTITLE = SUBTITLE; } public String getIMAGEURL() { return IMAGEURL; } public void setIMAGEURL(String IMAGEURL) { this.IMAGEURL = IMAGEURL; } public String getFROMNAME() { return FROMNAME; } public void setFROMNAME(String FROMNAME) { this.FROMNAME = FROMNAME; } public String getSHOWTIME() { return SHOWTIME; } public void setSHOWTIME(String SHOWTIME) { this.SHOWTIME = SHOWTIME; } public int getRN() { return RN; } public void setRN(int RN) { this.RN = RN; } } public static class DataScrollBean { /** * ID : 30736417 * TITLE : 九三学社中央十三届二十次常委会举行 * SUBTITLE : null * IMAGEURL : /11002/upload/webcms/content/image/2017/10/30/15_16_42_506_60159_A62I7285_fb-fb.jpg * FROMNAME : 九三学社中央宣传部 * SHOWTIME : 2017-10-30 * RN : 1 */ private String ID; private String TITLE; private Object SUBTITLE; private String IMAGEURL; private String FROMNAME; private String SHOWTIME; private int RN; public String getID() { return ID; } public void setID(String ID) { this.ID = ID; } public String getTITLE() { return TITLE; } public void setTITLE(String TITLE) { this.TITLE = TITLE; } public Object getSUBTITLE() { return SUBTITLE; } public void setSUBTITLE(Object SUBTITLE) { this.SUBTITLE = SUBTITLE; } public String getIMAGEURL() { return IMAGEURL; } public void setIMAGEURL(String IMAGEURL) { this.IMAGEURL = IMAGEURL; } public String getFROMNAME() { return FROMNAME; } public void setFROMNAME(String FROMNAME) { this.FROMNAME = FROMNAME; } public String getSHOWTIME() { return SHOWTIME; } public void setSHOWTIME(String SHOWTIME) { this.SHOWTIME = SHOWTIME; } public int getRN() { return RN; } public void setRN(int RN) { this.RN = RN; } } }
Childfragment1
package com.liuxingdou.month_lianxi; import android.os.AsyncTask; 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.TextView; import com.bwie.xlistviewlibrary.View.XListView; import com.bwie.xlistviewlibrary.utils.NetWordUtils; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.ArrayList; import java.util.List; public class Childfragment1 extends Fragment implements XListView.IXListViewListener { private XListView xlv; private ArrayList<Bean.DataBean> list=new ArrayList<>(); String url="http://www.93.gov.cn/93app/data.do?channelId=0&startNum="; private MAdapter mAdapter; private ImageLoader imageLoaderInstance; int page = 0; public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.child1, container, false); xlv = (XListView) view.findViewById(R.id.xlv); return view; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); imageLoaderInstance = ImageLoader.getInstance(); mAdapter = new MAdapter(); xlv.setAdapter(mAdapter); xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); getNetData(page); } /** * 请求网络数据 */ private void getNetData(int number) { new MAsyncTask().execute(url + number); } private class MAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { int type = 0; if (list.get(position).getIMAGEURL() ==null || list.get(position).getIMAGEURL()=="" ) { type = 0; //只有文字的条目 } else { type = 1; //文字+图片 } return type; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Holder0 holder0 = null; Holder1 holder1 = null; int itemViewType = getItemViewType(i); switch (itemViewType) { case 0: // 只有文字 if (view == null) { holder0 = new Holder0(); view = View.inflate(getActivity(), R.layout.item0, null); holder0.desc = view.findViewById(R.id.desc); view.setTag(holder0); } else { holder0 = (Holder0) view.getTag(); } holder0.desc.setText(list.get(i).getTITLE()); break; case 1: //文字+图片 if (view == null) { holder1 = new Holder1(); view = View.inflate(getActivity(), R.layout.item1, null); holder1.desc1 = view.findViewById(R.id.desc1); holder1.iv = view.findViewById(R.id.iv); view.setTag(holder1); } else { holder1 = (Holder1) view.getTag(); } holder1.desc1.setText(list.get(i).getTITLE()); imageLoaderInstance.displayImage(list.get(i).getIMAGEURL(), holder1.iv); break; } return view; } } class Holder0 { private TextView desc; } class Holder1 { private TextView desc1; private ImageView iv; } @Override public void onRefresh() { list.clear(); page = 0; getNetData(page); } @Override public void onLoadMore() { getNetData(page+=20); } /** * 请求网络 */ class MAsyncTask extends AsyncTask<String, Void, String> { private XListView xlv; @Override protected String doInBackground(String... strings) { return NetWordUtils.getNetjson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean product = gson.fromJson(s, Bean.class); List<Bean.DataBean> dataBeanList = product.getData(); list.addAll(dataBeanList); mAdapter.notifyDataSetChanged(); uiComplete();//让刷新头 或刷新底部 隐藏 } } public void uiComplete(){ xlv.stopRefresh(); xlv.stopLoadMore(); xlv.setRefreshTime("刚刚"); } }
Childfragment2,3
package com.liuxingdou.month_lianxi; 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; public class Childfragment2 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.child2, null); return view; } }
fragment1
package com.liuxingdou.month_lianxi; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Switch; import java.util.ArrayList; import java.util.List; public class fragment1 extends Fragment { private List<Fragment> list=new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.frag1, null); final RadioGroup rg = (RadioGroup) view.findViewById(R.id.rg); final RadioButton crb1 = (RadioButton) view.findViewById(R.id.crb1); final RadioButton crb2 = (RadioButton) view.findViewById(R.id.crb2); final RadioButton crb3 = (RadioButton) view.findViewById(R.id.crb3); final ViewPager vp = (ViewPager) view.findViewById(R.id.vp); crb1.setTextColor(Color.RED); crb2.setTextColor(Color.GRAY); crb3.setTextColor(Color.GRAY); list.add(new Childfragment1()); list.add(new Childfragment2()); list.add(new Childfragment3()); rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (i) { case R.id.crb1: vp.setCurrentItem(0); break; case R.id.crb2: vp.setCurrentItem(1); break; case R.id.crb3: vp.setCurrentItem(2); break; } } }); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position) { case 0: crb1.setTextColor(Color.RED); crb2.setTextColor(Color.GRAY); crb3.setTextColor(Color.GRAY); break; case 1: crb1.setTextColor(Color.GRAY); crb2.setTextColor(Color.RED); crb3.setTextColor(Color.GRAY); break; case 2: crb1.setTextColor(Color.GRAY); crb2.setTextColor(Color.GRAY); crb3.setTextColor(Color.RED); break; } } @Override public void onPageScrollStateChanged(int state) { } }); final MyAdapter myAdapter = new MyAdapter(getChildFragmentManager()); vp.setAdapter(myAdapter); return view; } private class MyAdapter extends FragmentPagerAdapter{ public MyAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } } }
fragment2,3,4
package com.liuxingdou.month_lianxi; 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; public class fragment2 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.frag2, null); return view; } }
MApp
package com.liuxingdou.month_lianxi; import android.app.Application; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; public class MApp extends Application { @Override public void onCreate() { super.onCreate(); //初始化组件 ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this).build(); ImageLoader.getInstance().init(configuration); } }
NetUtil
package com.liuxingdou.month_lianxi; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; public class NetUtil { public static String getNetJson(String urlString) { try { //url对象封装接口字符串 URL url = new URL(urlString); //用url打开连接, 返回值我们用HttpURLConnection HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); //设置链接超时时间 urlConnection.setConnectTimeout(8000); //获取状态码 int responseCode = urlConnection.getResponseCode(); if(responseCode==200) { InputStream inputStream = urlConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); //可拼接的字符串 StringBuilder stringBuilder = new StringBuilder(); String temp=""; while ((temp=bufferedReader.readLine())!=null) { stringBuilder.append(temp); } return stringBuilder.toString(); } else { } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return ""; } public static Bitmap getNetBitmap(String urlString) { try { //url对象封装接口字符串 URL url = new URL(urlString); //用url打开连接, 返回值我们用HttpURLConnection HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); //设置链接超时时间 httpURLConnection.setConnectTimeout(8000); int responseCode = httpURLConnection.getResponseCode(); if(responseCode==200) { InputStream inputStream = httpURLConnection.getInputStream(); //BitmapFactory: android提供好的加工图片的工具类, Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; }else { } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } }
相关文章推荐
- 封装工具类MyTask+判断是否有网络+ViewPagerFragment+Xlistview多条目加载
- 网络判断+xlistview上拉加载、下拉刷新+Tablayout +图片拖拽缩放+数据库存储 3、案例完成思路要求: 模块一:用fragment+viewpager+Tablayout实现页面
- 网络数据请求展示为无限轮播图 ViewPager+XListView+Fragment+ImageLoader
- 判断网络状态 fragment隐藏显示 xlistview多条目加载数据
- ViewPager fragment 保存状态,内部使用listview 并进行了操作,保存操作后的状态
- 网络请求(viewPager,Fragment,ListView)
- Fragment 与 Viewpager 联合使用在网络上获取图片
- fragment+viewpage+radiogroup+网络判断 (京东)
- 关于viewpager中嵌套的fragment中的listview的横向滑动的滑动冲突的问题。
- Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
- ViewPager+ListView+Fragment+PagerSlidingTableStrip实例
- android 事件滑动问题 viewPager+fragment+listView
- ViewPager+Fragment(延时加载)+XListView(下拉刷新)+ViewPager(自动循环)嵌套
- 解决fragment与viewpager一起使用时fragment中的listview数据出现重复
- 解决ViewPager+Fragment时状态保存的问题
- scrollview+tablayout+viewpager+三个fragment+listview滑动冲突、展示不全
- ListView GridView ViewPager 异步 加载网络图片 缓存到本地
- ListView+Fragment+ViewPager配合,实现今日头条的效果
- Viewpager+Fragment滑动更改ListView数据和设置title文字的变化
- android解决fragment+viewpager状态保存问题