public class MainActivity extends AppCompatActivity {
private Myadapter myadapter;
protected PullToRefreshListView pull_listview;
private ImageView img;
private DrawerLayout dv;
private String urlpath="http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0";
private int p=1;
private int q=0;
private String url=urlpath+q;
private List<Bean.DataBean> data=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
boolean conn = Utils.isConn(MainActivity.this);
if (conn) {
MyTask myTask = new MyTask();
myTask.execute(url);
} else {
Utils.setNetworkMethod(MainActivity.this);
}
shuxi();
}
private void shuxi() {
pull_listview.setMode(PullToRefreshListView.Mode.BOTH);
ILoadingLayout startLabels = pull_listview.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新...");
startLabels.setRefreshingLabel("正在载入...");// 刷新时
startLabels.setReleaseLabel("放开刷新...");// 下来达到一定距离时,显示的提示
ILoadingLayout endLabels = pull_listview.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新...");// 刚下拉时,显示的提示
endLabels.setRefreshingLabel("正在载入...");// 刷新时
endLabels.setReleaseLabel("放开刷新...");// 下来达到一定距离时,显示的提示
pull_listview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
p=1;
q=0;
url=urlpath+q;
MyTask myTask = new MyTask();
myTask.execute(url);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
p=2;
q++;
url=urlpath+q;
MyTask myTask = new MyTask();
myTask.execute(url);
}
});
}
class MyTask extends AsyncTask<String,Void,String>
{
@Override
protected String doInBackground(String... strings) {
StringBuilder builder=new StringBuilder();
try {
URL url=new URL(strings[0]);
HttpURLConnection urlConnection =(HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setReadTimeout(5000);
urlConnection.setConnectTimeout(5000);
if (urlConnection.getResponseCode()==200)
{
InputStream inputStream = urlConnection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String str="";
while ((str=reader.readLine())!=null)
{
builder.append(str);
}
reader.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return builder.toString();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
Bean bean = gson.fromJson(s, Bean.class);
if (p==1)
{
data.clear();
}
data.addAll(bean.getData());
setAdapter();
if (p==1)
{
pull_listview.onRefreshComplete();
}
else {
pull_listview.onRefreshComplete();
}
}
}
private void initView() {
pull_listview = (PullToRefreshListView) findViewById(R.id.pull_listview);
img = (ImageView) findViewById(R.id.img);
dv = (DrawerLayout) findViewById(R.id.dv);
ListView list_view = findViewById(R.id.list_view);
List<String> list = new ArrayList<>();
for (int i = 0; i <20 ; i++) {
list.add("数据是"+i);
}
list_view.setAdapter(new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,android.R.id.text1,list));
}
public void setAdapter() {
if (myadapter == null) {
myadapter = new Myadapter(MainActivity.this, data);
pull_listview.setAdapter(myadapter);
}
else {
myadapter.notifyDataSetChanged();
}
}
}