1

package com.example.week3_demo;

import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ScrollView;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshScrollView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
String url="http://v3.wufazhuce.com:8000/api/reading/index/?version=3.5.0&platform=android";
private ViewPager viewPager;

private Handler myHanler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int index=viewPager.getCurrentItem();
index++;
viewPager.setCurrentItem(index);

sendEmptyMessageDelayed(0,500);

}
};
private GridView gridView;
private PullToRefreshScrollView psv;
private List<Result.DataBean.QuestionBean> questionList=new ArrayList<>();
private MyGdAdapter adapter1;
private int operType=1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = findViewById(R.id.vp);
gridView = findViewById(R.id.gv);
psv = findViewById(R.id.psv);

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
intent.putExtra("web_url","http://www.baidu.com");
startActivity(intent);
}
});

initpsv();

if(NetStateUtil.isConn(this)){
MyTask task=new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
List<String> picUrls=new ArrayList<>();
Gson gson=new Gson();
Result result = gson.fromJson(jsonstr, Result.class);

List<Result.DataBean.QuestionBean> question = result.getData().getQuestion();
List<Result.DataBean.EssayBean> essay = result.getData().getEssay();
for (int i = 0; i <essay.size() ; i++) {
String data=essay.get(i).getAuthor().get(0).getWeb_url();
picUrls.add(data);
}

//设置轮播图
MyAdapter adapter=new MyAdapter(picUrls,MainActivity.this);
viewPager.setAdapter(adapter);
//发送消息
myHanler.sendEmptyMessageDelayed(0,500);

//设置列表数据
MyGdAdapter adapter1=new MyGdAdapter(question,MainActivity.this);
gridView.setAdapter(adapter1);

}
});
task.execute(url);

}else{
NetStateUtil.showNoNetWorkDlg(this);
}

 

 


}

private void requestNetData() {
MyTask task=new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
Gson gson=new Gson();
Result result = gson.fromJson(jsonstr, Result.class);
List<Result.DataBean.QuestionBean> question = result.getData().getQuestion();
if(operType==1){
questionList.clear();
}
questionList.addAll(question);
//设置列表数据
setAdapter();

psv.onRefreshComplete();//关闭
}
});
task.execute(url);
}
public void setAdapter(){
if(adapter1==null){
adapter1 = new MyGdAdapter(questionList,MainActivity.this);
gridView.setAdapter(adapter1);
}else{
adapter1.notifyDataSetChanged();
}

}

private void initpsv() {
psv.setMode(PullToRefreshBase.Mode.BOTH);
psv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
operType=1;
requestNetData();
}

@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
//加载更多
operType=2;
requestNetData();

}
});
}
}

posted @ 2017-12-19 09:40  代码的搬运工头  阅读(129)  评论(0编辑  收藏  举报