刷新加载

 需要的权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

一个注册

android:name=".actity.app.MyApplicon"
public class MainActivity extends AppCompatActivity {
    ///配置
    private XListView x_li;

  private int page=1;
    private JSONArray jsonArray;
    private MyAdapter adapter;

     private Handler handler=new Handler(){
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
             switch (msg.what){
                 case 0:
                     x_li.stopRefresh();
                     break;
                 case  1:
                     page++;
                     getserrver();
                     x_li.stopLoadMore();
                     break;
             }
         }
     };
     
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
// 初始化控件
        x_li = (XListView) findViewById(R.id.x_li);
        getserrver();
        x_li.setPullRefreshEnable(true);
        x_li.setPullLoadEnable(true);
        x_li.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {
                Toast.makeText(MainActivity.this,"下拉刷新",Toast.LENGTH_SHORT).show();
                page=1;
                getserrver();
                handler.sendEmptyMessageDelayed(0,2000);
            }

            @Override
            public void onLoadMore() {
   Toast.makeText(MainActivity.this,"上拉加载",Toast.LENGTH_SHORT).show();
                handler.sendEmptyMessageDelayed(1,2000);
            }
        });
        getserrver();
    }
////解析
    private void getserrver() {
         String url = "http://www.xieast.com/api/news/news.php?page="+page;;
        AsyncHttpClient client=new AsyncHttpClient();
        client.get(this, url, new TextHttpResponseHandler() {
            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {

            }
          
            @Override
            public void onSuccess(int statusCode, Header[] headers, String responseString) {
                try {
                    JSONObject jsonobject=new JSONObject(responseString);
                    JSONArray data = jsonobject.getJSONArray("data");
                    if (page==1){
                        jsonArray = new JSONArray();
                    }
                    for (int i=0;i<data.length();i++) {
                       jsonArray.put(data.get(i));
                    }

                    if (page==1){
                        adapter = new MyAdapter(MainActivity.this,jsonArray);
                        x_li.setAdapter(adapter);
                    }else {
                        adapter.notifyDataSetChanged();
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        });
    }
}

///////imageLoanger 初始化

public class MyApplicon extends Application {

    @Override
     public void onCreate() {
    super.onCreate();
    ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(this);
      File cacheDirectory = StorageUtils.getCacheDirectory(this);
       ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(this);
     ImageLoader.getInstance().init(configuration);

       }
}

//////apadter

public class MyAdapter  extends BaseAdapter{
 private    JSONArray data;
 private    Context context;

    private  int type;
// 变量
    private  final int TT_0=0;
    private  final  int TT_1=1;

    public MyAdapter(Context context, JSONArray data) {
        this.context = context;
        this.data = data;
    }

    @Override
    public int getCount() {
        return data.length();
    }

    @Override
    public Object getItem(int i) {
        try {
            return data.get(i);

        } catch (JSONException e) {
            e.printStackTrace();
        }
        return  null;
    }

    @Override
    public long getItemId(int i) {
        return i;
    }
  //自定义重写
    @Override
    public int getItemViewType(int position) {
int p=position%2;
        if (p==0){
   return  TT_0;
        }else {
            return  TT_1;
        }
    }
 //自定义重写
    @Override
    public int getViewTypeCount() {
        return 2;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder holder=null;
        if (view==null) {
            holder = new ViewHolder();
            if (type==1) {
                view = View.inflate(context, R.layout.time_layout, null);

                holder.image11 = (ImageView) view.findViewById(R.id.image11);
                holder.text11 = (TextView) view.findViewById(R.id.text11);
                view.setTag(holder);
            } else {
                view = View.inflate(context, R.layout.erye_layout, null);
                holder.image01 = (ImageView) view.findViewById(R.id.image01);
                holder.image02 = (ImageView) view.findViewById(R.id.image02);
                holder.image03 = (ImageView) view.findViewById(R.id.image03);
                holder.text22 = (TextView) view.findViewById(R.id.text22);
                view.setTag(holder);
            }
        }else {
            holder= (ViewHolder) view.getTag();
        }
  if (type==1){
      try {
          JSONObject jsonObject=data.getJSONObject(i);
          String title = jsonObject.getString("title");
          String thumbnail_pic_s = jsonObject.getString("thumbnail_pic_s");
          holder.text11.setText(title);
         //获取图片路径
          DisplayImageOptions options = DisplayImageOptions.createSimple();
          ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder.image11);
      } catch (JSONException e) {
          e.printStackTrace();
      }
  }else {
      try {
          JSONObject jsonObject=data.getJSONObject(i);
          String title = jsonObject.getString("title");
          holder.text22.setText(title);
          String thumbnail_pic_s = jsonObject.getString("thumbnail_pic_s");
          String thumbnail_pic_s02 = jsonObject.getString("thumbnail_pic_s02");
          String thumbnail_pic_s03 = jsonObject.getString("thumbnail_pic_s03");
        //
          DisplayImageOptions options = DisplayImageOptions.createSimple();
          DisplayImageOptions.Builder builder = new DisplayImageOptions.Builder();
       ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder.image01);
          ImageLoader.getInstance().displayImage(thumbnail_pic_s02,holder.image02);
          ImageLoader.getInstance().displayImage(thumbnail_pic_s03,holder.image03);

      } catch (JSONException e) {
          e.printStackTrace();
      }
  }






        return view;
    }
    class  ViewHolder{
         TextView text11;
        ImageView image11;

        ImageView  image01;
        ImageView  image02;
        ImageView  image03;
        TextView text22;

    }
}

猜你喜欢

转载自blog.csdn.net/qq_41880256/article/details/81101713