< pager.setOffscreenPageLimit(4);解决解决滑动事件与轮播图事件冲突>
<pager.setOffscreenPageLimit(list.size());解决后面数据出不来问题>
<-----布局--------->
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--主内容区域在下面-->
<RelativeLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<RadioGroup
android:id="@+id/group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
<RadioButton
android:id="@+id/radio_01"
android:layout_width="0dp"
android:layout_weight="1"
android:padding="15dp"
android:layout_height="wrap_content"
android:button="@null"
android:gravity="center"
android:checked="true"
android:textColor="@color/select_che"
android:text="新闻"/>
<RadioButton
android:id="@+id/radio_02"
android:layout_width="0dp"
android:layout_weight="1"
android:padding="15dp"
android:layout_height="wrap_content"
android:button="@null"
android:gravity="center"
android:textColor="@color/select_che"
android:text="网格"/>
<RadioButton
android:id="@+id/radio_03"
android:layout_width="0dp"
android:layout_weight="1"
android:padding="15dp"
android:layout_height="wrap_content"
android:button="@null"
android:gravity="center"
android:textColor="@color/select_che"
android:text="娱乐"/>
<RadioButton
android:id="@+id/radio_04"
android:layout_width="0dp"
android:layout_weight="1"
android:padding="15dp"
android:layout_height="wrap_content"
android:button="@null"
android:gravity="center"
android:textColor="@color/select_che"
android:text="登录"/>
</RadioGroup>
</RelativeLayout>
<!--抽屉显示的内容-->
<LinearLayout
android:background="#ffffff"
android:layout_gravity="left"
android:id="@+id/linear_drawer"
android:orientation="vertical"
android:layout_width="200dp"
android:layout_height="match_parent">
<ImageView
android:layout_gravity="center_horizontal"
android:src="@mipmap/ic_launcher"
android:layout_width="50dp"
android:layout_height="50dp" />
<TextView
android:text="未登录"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:padding="20dp"
android:id="@+id/linear_01"
android:orientation="horizontal"
android:layout_width="200dp"
android:layout_marginTop="50dp"
android:layout_height="wrap_content">
<ImageView
android:src="@mipmap/ic_launcher"
android:layout_width="20dp"
android:layout_height="20dp" />
<TextView
android:text="QQ登录"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:padding="20dp"
android:id="@+id/linear_02"
android:orientation="horizontal"
android:layout_width="200dp"
android:layout_height="wrap_content">
<ImageView
android:src="@mipmap/ic_launcher"
android:layout_width="20dp"
android:layout_height="20dp" />
<TextView
android:text="微信登录"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:padding="20dp"
android:id="@+id/linear_03"
android:orientation="horizontal"
android:layout_width="200dp"
android:layout_height="wrap_content">
<ImageView
android:src="@mipmap/ic_launcher"
android:layout_width="20dp"
android:layout_height="20dp" />
<TextView
android:text="微博登录"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
<-----TabLayout----->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="50dp"
app:tabGravity="center"
app:tabIndicatorColor="#ff0000"
app:tabMode="scrollable"
app:tabSelectedTextColor="#ff0000"
app:tabTextColor="#00ff00">
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_below="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
</RelativeLayout>
<-----PullToRefreshListView----->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.handmark.pulltorefresh.library.PullToRefreshListView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/refresh_list_view"
ptr:ptrDrawable="@drawable/default_ptr_flip"
ptr:ptrAnimationStyle="flip"
ptr:ptrHeaderBackground="#383838"
ptr:ptrHeaderTextColor="#FFFFFF" >
</com.handmark.pulltorefresh.library.PullToRefreshListView>
</LinearLayout>
<------PullToRefreshGridView------>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="200dp">
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/viewpager"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:orientation="horizontal">
</LinearLayout>
<com.handmark.pulltorefresh.library.PullToRefreshGridView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_below="@+id/viewpager"
android:id="@+id/refresh_grid_view"
ptr:ptrDrawable="@drawable/default_ptr_flip"
ptr:ptrAnimationStyle="flip"
ptr:ptrHeaderBackground="#383838"
ptr:ptrHeaderTextColor="#FFFFFF"
android:numColumns="2"
/>
</RelativeLayout>
<----主页面------>
package com.example.adminjs.zongheti;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.example.adminjs.zongheti.Adapter.MaAdapter;
import com.example.adminjs.zongheti.Fragment.Fragment_01;
import com.example.adminjs.zongheti.Fragment.Fragment_02;
import com.example.adminjs.zongheti.Fragment.Fragment_03;
import com.example.adminjs.zongheti.Fragment.Fragment_04;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends FragmentActivity implements View.OnClickListener {
private DrawerLayout drawerLayout;
private RelativeLayout relativeLayout;
private LinearLayout linearLayout;
private LinearLayout linear_01;
private LinearLayout linear_02;
private LinearLayout linear_03;
private LinearLayout linear_04;
private ViewPager pager;
private RadioGroup group;
private List<Fragment> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
relativeLayout = (RelativeLayout)findViewById(R.id.frame_layout);
linearLayout = (LinearLayout)findViewById(R.id.linear_drawer);
pager = (ViewPager)findViewById(R.id.pager);
group = (RadioGroup)findViewById(R.id.group);
list = new ArrayList<>();
list.add(new Fragment_01());
list.add(new Fragment_02());
list.add(new Fragment_03());
list.add(new Fragment_04());
MaAdapter maAdapter = new MaAdapter(getSupportFragmentManager(), list);
pager.setAdapter(maAdapter);
linear_01 = (LinearLayout) findViewById(R.id.linear_01);
linear_02 = (LinearLayout) findViewById(R.id.linear_02);
linear_03 = (LinearLayout) findViewById(R.id.linear_03);
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
group.check(group.getChildAt(position).getId());
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i){
case R.id.radio_01:
pager.setCurrentItem(0,false);
break;
case R.id.radio_02:
pager.setCurrentItem(1,false);
break;
case R.id.radio_03:
pager.setCurrentItem(2,false);
break;
case R.id.radio_04:
pager.setCurrentItem(3,false);
break;
}
}
});
pager.setOffscreenPageLimit(4);
linear_01.setOnClickListener(this);
linear_02.setOnClickListener(this);
linear_03.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.linear_01:
Toast.makeText(MainActivity.this,"QQ登录",Toast.LENGTH_SHORT).show();
drawerLayout.closeDrawers();
break;
}
switch (view.getId()){
case R.id.linear_02:
Toast.makeText(MainActivity.this,"微信登录",Toast.LENGTH_SHORT).show();
drawerLayout.closeDrawers();
break;
}
switch (view.getId()){
case R.id.linear_03:
Toast.makeText(MainActivity.this,"微博登录",Toast.LENGTH_SHORT).show();
drawerLayout.closeDrawers();
break;
}
}
}
<------TabLayout------->
package com.example.adminjs.zongheti.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
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 com.example.adminjs.zongheti.NewsFragment;
import com.example.adminjs.zongheti.R;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Adminjs on 2017/9/20.
*/
public class Fragment_01 extends Fragment{
private TabLayout tabLayout;
private ViewPager pager;
private List<String> list;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_01, container, false);
tabLayout = (TabLayout)view.findViewById(R.id.tab_layout);
pager = (ViewPager)view.findViewById(R.id.view_pager);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
list = new ArrayList<>();
list.add("福利");
list.add("Android");
list.add("IOS");
list.add("休息视频");
list.add("拓展资源");
list.add("前段");
list.add("all");
/**
* viewPager需要设置容器中装的页面数量,默认是三页,,,否则在切换的时候前面的再切换回来就不显示了
*/
pager.setOffscreenPageLimit(list.size());
//设置适配器
pager.setAdapter(new FragmentPagerAdapter(getFragmentManager()) {
@Override
public CharSequence getPageTitle(int position) {
//展示的标题
return list.get(position);
}
@Override
public Fragment getItem(int position) {
//....fragment集合viewPager使用的时候,fragment是new出来的
NewsFragment newsFragment = new NewsFragment();
Bundle bundle = new Bundle();
//把当前位置的标题传递过去
bundle.putString("name",list.get(position));
newsFragment.setArguments(bundle);
return newsFragment;
}
@Override
public int getCount() {
return list.size();
}
});
//绑定在一起
tabLayout.setupWithViewPager(pager);
}
}
<-------PullToRefreshListView----->
package com.example.adminjs.zongheti;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.example.adminjs.zongheti.Adapter.MaAdapter;
import com.example.adminjs.zongheti.Adapter.MyAdapter;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Adminjs on 2017/9/20.
*/
public class NewsFragment extends Fragment {
private PullToRefreshListView refreshListView;
private String param;
private String path;
private int page_num = 1;
private List<DataDataBean.ResultsBean>list = new ArrayList<>();
private MyAdapter myAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_layout, container, false);
refreshListView = (PullToRefreshListView) view.findViewById(R.id.refresh_list_view);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle bundle = getArguments();
param = bundle.getString("name", "Android");
//请求数据,,,设置适配器
getData();
refreshListView.setMode(PullToRefreshBase.Mode.BOTH);
ILoadingLayout startLabels = refreshListView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在刷新...");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = refreshListView.getLoadingLayoutProxy( false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
//设置监听
refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
getRefreshData();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
//上拉加载的时候 page_num加一
page_num ++;
getData();
}
});
}
/**
* 获取刷新时的数据...刷新时只访问第一页的数据,,,,刷新的数据需要添加到集合的前边
*
* 刷新完成,,设置适配器之后刷新需要停止
*/
private void getRefreshData() {
AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
try {
String path = "http://gank.io/api/data/"+URLEncoder.encode(param,"utf-8")+"/10/1";
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//获取
int responseCode = connection.getResponseCode();
if (responseCode == 200){
InputStream inputStream = connection.getInputStream();
String json = streamToString(inputStream,"utf-8");
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
@Override
protected void onPostExecute(String s) {
//解析
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);
/**
* 判断数据非空
*/
if (dataDataBean != null && dataDataBean.getResults() != null){
//数据添加
list.addAll(0,dataDataBean.getResults());
//设置适配器
setAdapter();
//停止刷新
refreshListView.onRefreshComplete();
}
}
};
asyncTask.execute();
}
/**
* 这个方法是刚进入界面的时候请求数据,,,,和上拉加载的时候不停的请求数据
*
* page_num每次加载的时候会加1,,,这个方法中数据添加在list集合的后面
*
* 请求设置适配器之后 刷新停止
*/
private void getData() {
AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
try {
String path = "http://gank.io/api/data/"+URLEncoder.encode(param,"utf-8")+"/10/"+page_num;
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//获取
int responseCode = connection.getResponseCode();
if (responseCode == 200){
InputStream inputStream = connection.getInputStream();
String json = streamToString(inputStream,"utf-8");
Log.i("YYYYYYY",json);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
@Override
protected void onPostExecute(String s) {
//解析
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);
/**
* 判断数据非空
*/
if (dataDataBean != null && dataDataBean.getResults() != null){
//数据添加
list.addAll(dataDataBean.getResults());//拿到的是每一页的数据的集合
//设置适配器
setAdapter();
//刷新停止
refreshListView.onRefreshComplete();
}
}
};
asyncTask.execute();
}
private void setAdapter() {
if (myAdapter == null){
myAdapter = new MyAdapter(getActivity(),list);
refreshListView.setAdapter(myAdapter);
}else {
myAdapter.notifyDataSetChanged();
}
}
private String streamToString(InputStream inputStream,String charset) {
try {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String s = null;
StringBuilder builder = new StringBuilder();
while ((s = bufferedReader.readLine()) != null){
builder.append(s);
}
Log.i("HHHHHH",bufferedReader.toString());
bufferedReader.close();
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
<------轮播图+PullToRefreshGridView>
package com.example.adminjs.zongheti;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.example.adminjs.zongheti.Adapter.MaAdapter;
import com.example.adminjs.zongheti.Adapter.MyAdapter;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Adminjs on 2017/9/20.
*/
public class NewsFragment extends Fragment {
private PullToRefreshListView refreshListView;
private String param;
private String path;
private int page_num = 1;
private List<DataDataBean.ResultsBean>list = new ArrayList<>();
private MyAdapter myAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_layout, container, false);
refreshListView = (PullToRefreshListView) view.findViewById(R.id.refresh_list_view);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle bundle = getArguments();
param = bundle.getString("name", "Android");
//请求数据,,,设置适配器
getData();
refreshListView.setMode(PullToRefreshBase.Mode.BOTH);
ILoadingLayout startLabels = refreshListView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在刷新...");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = refreshListView.getLoadingLayoutProxy( false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
//设置监听
refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
getRefreshData();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
//上拉加载的时候 page_num加一
page_num ++;
getData();
}
});
}
/**
* 获取刷新时的数据...刷新时只访问第一页的数据,,,,刷新的数据需要添加到集合的前边
*
* 刷新完成,,设置适配器之后刷新需要停止
*/
private void getRefreshData() {
AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
try {
String path = "http://gank.io/api/data/"+URLEncoder.encode(param,"utf-8")+"/10/1";
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//获取
int responseCode = connection.getResponseCode();
if (responseCode == 200){
InputStream inputStream = connection.getInputStream();
String json = streamToString(inputStream,"utf-8");
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
@Override
protected void onPostExecute(String s) {
//解析
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);
/**
* 判断数据非空
*/
if (dataDataBean != null && dataDataBean.getResults() != null){
//数据添加
list.addAll(0,dataDataBean.getResults());
//设置适配器
setAdapter();
//停止刷新
refreshListView.onRefreshComplete();
}
}
};
asyncTask.execute();
}
/**
* 这个方法是刚进入界面的时候请求数据,,,,和上拉加载的时候不停的请求数据
*
* page_num每次加载的时候会加1,,,这个方法中数据添加在list集合的后面
*
* 请求设置适配器之后 刷新停止
*/
private void getData() {
AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
try {
String path = "http://gank.io/api/data/"+URLEncoder.encode(param,"utf-8")+"/10/"+page_num;
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//获取
int responseCode = connection.getResponseCode();
if (responseCode == 200){
InputStream inputStream = connection.getInputStream();
String json = streamToString(inputStream,"utf-8");
Log.i("YYYYYYY",json);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
@Override
protected void onPostExecute(String s) {
//解析
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);
/**
* 判断数据非空
*/
if (dataDataBean != null && dataDataBean.getResults() != null){
//数据添加
list.addAll(dataDataBean.getResults());//拿到的是每一页的数据的集合
//设置适配器
setAdapter();
//刷新停止
refreshListView.onRefreshComplete();
}
}
};
asyncTask.execute();
}
private void setAdapter() {
if (myAdapter == null){
myAdapter = new MyAdapter(getActivity(),list);
refreshListView.setAdapter(myAdapter);
}else {
myAdapter.notifyDataSetChanged();
}
}
private String streamToString(InputStream inputStream,String charset) {
try {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String s = null;
StringBuilder builder = new StringBuilder();
while ((s = bufferedReader.readLine()) != null){
builder.append(s);
}
Log.i("HHHHHH",bufferedReader.toString());
bufferedReader.close();
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}