您的位置:首页 > 理论基础 > 计算机网络

侧拉+xlistview+Fragment+Viewpager+判断网络状态

2017-11-10 20:52 465 查看
**

添加网络权限

依赖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;
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  加侧拉
相关文章推荐