private View view;
private XListView mXlv;
int urls=1;
String urll="http://gank.io/api/data/Android/10/";
String url=urll+urls;
int zhi=1;
List<Tostr.ResultsBean> list=new ArrayList<Tostr.ResultsBean>();
private Myadapter myadapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.content, null, false);
initView(view);
mXlv.setPullLoadEnable(true);
mXlv.setPullRefreshEnable(true);
mXlv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
urls=1;
url=urll+urls;
zhi=1;
MyTask myTask=new MyTask();
myTask.execute(url);
}
@Override
public void onLoadMore() {
urls++;
url=urll+urls;
zhi=2;
MyTask myTask=new MyTask();
myTask.execute(url);
}
});
MyTask myTask=new MyTask();
myTask.execute(url);
return view;
}
private void initView(View view) {
mXlv = (XListView) view.findViewById(R.id.xlv);
}
class MyTask extends AsyncTask<String,Void,String> {
private List<Tostr.ResultsBean> results;
@Override
protected String doInBackground(String... strings) {
StringBuffer stringBuffer = new StringBuffer();
try {
URL url=new URL(strings[0]);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(5000);
if(urlConnection.getResponseCode()==200){
//获取数据
InputStream inputStream = urlConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String str;
while((str=bufferedReader.readLine())!=null){
stringBuffer.append(str);
}
bufferedReader.close();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return stringBuffer.toString();
}
@Override
protected void onPostExecute(String s) {
Gson gson=new Gson();
Tostr tostr = gson.fromJson(s, Tostr.class);
results = tostr.getResults();
if(zhi==1){
list.clear();
}
list.addAll(results);
sadapter();
if(zhi==1){
mXlv.stopRefresh();//关闭头布局
Date date=new Date(System.currentTimeMillis());
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String refreshTime = sf.format(date);
mXlv.setRefreshTime(refreshTime);//设置刷新时间
}else{
mXlv.stopLoadMore();//关闭尾布局
}
}
}
public void sadapter(){
if(myadapter==null){
myadapter = new Myadapter(list, getActivity());
mXlv.setAdapter(myadapter);
}else{
myadapter.notifyDataSetChanged();
}
}
private XListView mXlv;
int urls=1;
String urll="http://gank.io/api/data/Android/10/";
String url=urll+urls;
int zhi=1;
List<Tostr.ResultsBean> list=new ArrayList<Tostr.ResultsBean>();
private Myadapter myadapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.content, null, false);
initView(view);
mXlv.setPullLoadEnable(true);
mXlv.setPullRefreshEnable(true);
mXlv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
urls=1;
url=urll+urls;
zhi=1;
MyTask myTask=new MyTask();
myTask.execute(url);
}
@Override
public void onLoadMore() {
urls++;
url=urll+urls;
zhi=2;
MyTask myTask=new MyTask();
myTask.execute(url);
}
});
MyTask myTask=new MyTask();
myTask.execute(url);
return view;
}
private void initView(View view) {
mXlv = (XListView) view.findViewById(R.id.xlv);
}
class MyTask extends AsyncTask<String,Void,String> {
private List<Tostr.ResultsBean> results;
@Override
protected String doInBackground(String... strings) {
StringBuffer stringBuffer = new StringBuffer();
try {
URL url=new URL(strings[0]);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(5000);
if(urlConnection.getResponseCode()==200){
//获取数据
InputStream inputStream = urlConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String str;
while((str=bufferedReader.readLine())!=null){
stringBuffer.append(str);
}
bufferedReader.close();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return stringBuffer.toString();
}
@Override
protected void onPostExecute(String s) {
Gson gson=new Gson();
Tostr tostr = gson.fromJson(s, Tostr.class);
results = tostr.getResults();
if(zhi==1){
list.clear();
}
list.addAll(results);
sadapter();
if(zhi==1){
mXlv.stopRefresh();//关闭头布局
Date date=new Date(System.currentTimeMillis());
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String refreshTime = sf.format(date);
mXlv.setRefreshTime(refreshTime);//设置刷新时间
}else{
mXlv.stopLoadMore();//关闭尾布局
}
}
}
public void sadapter(){
if(myadapter==null){
myadapter = new Myadapter(list, getActivity());
mXlv.setAdapter(myadapter);
}else{
myadapter.notifyDataSetChanged();
}
}