在这里插入代码片
package frag;
import android.os.AsyncTask;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import com.bawei.monthlx1.R;
import com.google.gson.Gson;
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.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import adapter.MyPullAdapter;
import base.BaseFragment;
import bean.Datas;
import bean.Json;
public class item1 extends BaseFragment {
int page = 1;
private PullToRefreshListView pull;
private ArrayList list;
@Override
protected int layoutID() {
return R.layout.item1;
}
@Override
protected void initView(View view) {
pull = view.findViewById(R.id.pull);
}
@Override
protected void initData() {
new MyAsyncTask().execute();
pull.setMode(PullToRefreshBase.Mode.BOTH);
pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
pull.onRefreshComplete();
}
},2000);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
page++;
new MyAsyncTask().execute();
pull.onRefreshComplete();
}
},2000);
}
});
}
private class MyAsyncTask extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... strings) {
try {
URL url = new URL("http://api.expoon.com/AppNews/getNewsList/type/1/p/1?page=" + page);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(5000);
if (urlConnection.getResponseCode() == 200) {
InputStream stream = urlConnection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
StringBuilder builder = new StringBuilder();
String string = "";
while ((string = reader.readLine()) != null) {
builder.append(string);
}
return builder.toString();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
Json fromJson = gson.fromJson(s, Json.class);
ArrayList<Datas> data = fromJson.getData();
if (page==1){
list=new ArrayList<>();
}
list.addAll(data);
MyPullAdapter myPullAdapter = new MyPullAdapter(getActivity(), list);
pull.setAdapter(myPullAdapter);
pull.setSelection(list.size()-19);
}
}
}
--------------------------适配器---------------------------------
package adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bawei.monthlx1.R;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
import bean.Datas;
/
*/
public class MyPullAdapter extends BaseAdapter {
private Context context;
private ArrayList<Datas> data;
public MyPullAdapter(Context context, ArrayList<Datas> data) {
this.context = context;
this.data = data;
}
@Override
public int getViewTypeCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
if (position % 3 == 0) {
return 0;
} else if (position % 3 == 1) {
return 1;
} else {
return 2;
}
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
switch (type) {
case 0:
ViewHold1 viewHold1 = new ViewHold1();
if (convertView == null) {
convertView = View.inflate(context, R.layout.pull1,null);
viewHold1.textView1 = convertView.findViewById(R.id.pulltext1);
viewHold1.imageView1 = convertView.findViewById(R.id.pullimg1);
convertView.setTag(viewHold1);
}else {
viewHold1 = (ViewHold1) convertView.getTag();
}
viewHold1.textView1.setText(data.get(position).getNews_summary());
ImageLoader.getInstance().displayImage(data.get(position).getPic_url(),viewHold1.imageView1);
break;
case 1:
ViewHold2 viewHold2 = new ViewHold2();
if (convertView == null) {
convertView = View.inflate(context, R.layout.pull2,null);
viewHold2.textView11 = convertView.findViewById(R.id.pulltext11);
convertView.setTag(viewHold2);
}else {
viewHold2 = (ViewHold2) convertView.getTag();
}
viewHold2.textView11.setText(data.get(position).getNews_id());
break;
case 2:
ViewHold3 viewHold3 = new ViewHold3();
if (convertView == null) {
convertView = View.inflate(context, R.layout.pull3,null);
viewHold3.textView111 = convertView.findViewById(R.id.pulltext111);
viewHold3.imageView111 = convertView.findViewById(R.id.pullimg11);
convertView.setTag(viewHold3);
}else {
viewHold3 = (ViewHold3) convertView.getTag();
}
viewHold3.textView111.setText(data.get(position).getNews_title());
ImageLoader.getInstance().displayImage(data.get(position).getPic_url(),viewHold3.imageView111);
break;
}
return convertView;
}
class ViewHold1 {
TextView textView1;
ImageView imageView1;
}
class ViewHold2 {
TextView textView11;
}
class ViewHold3 {
TextView textView111;
ImageView imageView111;
}
}