80,350
社区成员
发帖
与我相关
我的任务
分享
package com.gift.android.travel.fragment;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import com.gift.android.R;
import com.gift.android.Utils.HttpUtils;
import com.gift.android.Utils.ImageCache;
import com.gift.android.Utils.Utils;
import com.gift.android.travel.fragment.base.BaseTravelFragment;
import com.gift.android.travel.model.PhotoWallJson;
import com.gift.android.travel.model.PhotoWallList;
import com.gift.android.widget.pulltorefreshlistview.PullToRefreshBase;
import com.gift.android.widget.pulltorefreshlistview.PullToRefreshBase.OnRefreshListener2;
import com.gift.android.widget.pulltorefreshlistview.PullToRefreshGridView;
import com.google.gson.Gson;
/**
* 目的地 -照片墙
*
* @author duanzheng
*
*/
public class microtravelDetailiInfoPhotoWallFragment extends BaseTravelFragment
implements OnRefreshListener2<GridView> {
private LayoutInflater inflater;
private View mtdipw;
private PullToRefreshGridView gv;
private int pageIndex = 1;
private int pageSize = 15;
private gvadapter adapter;
private PhotoWallJson photoWallJson;
private List<PhotoWallList> list;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
this.inflater = inflater;
mtdipw = inflater.inflate(
R.layout.microtravel_detaili_info_photowall_fragment, null);
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// TODO Auto-generated method stub
setContentView(mtdipw);
findbyid();
initView();
getDate(true);
super.onViewCreated(view, savedInstanceState);
}
private void getDate(boolean isStartAnimator) {
String args = String.format("&destId=%s&version=%s", "3559", "1.0.0");
if (isStartAnimator) {
loading.doGet(
"http://192.168.0.64/api/router/rest.do?method=api.com.trip.dest.pic"
+ args, "api.com.trip.dest.pic", 0, "", this);
} else {
HttpUtils.getInstance().doGet(
"http://192.168.0.64/api/router/rest.do?method=api.com.trip.dest.pic"
+ args, "api.com.trip.dest.pic", 0, "", this);
}
}
public void requestFinished(String response, String method) {
Log.i("test", "response:" + response);
Gson gson = new Gson();
photoWallJson = gson.fromJson(response, PhotoWallJson.class);
if (photoWallJson.code == 1) {
if (photoWallJson.data != null && photoWallJson.data.list != null
&& photoWallJson.data.list.size() > 0) {
Log.i("test", "更新前list:" + list.size());
//for(int i=0;i<30;i++){
list.addAll(photoWallJson.data.list);
//}
Log.i("test", "更新后list:--->" + list.size());
gv.setLastPage(photoWallJson.data.hasNext);
if (!photoWallJson.data.hasNext) {
pageIndex++;
}
Log.i("test", "开始更新数据");
adapter.notifyDataSetChanged();//这一行执行后不会更新,list已经改变
}
}
gv.onRefreshComplete();
}
public void requestFailure(Throwable t, String method) {
if (gv != null) {
gv.onRefreshComplete();
}
Utils.showToast(getActivity(), R.drawable.face_fail,
"哎呀,网络不给力\n请稍后再试试吧", 0);
}
private void initView() {
list = new ArrayList<PhotoWallList>();
adapter = new gvadapter(getActivity(), list);
gv.setAdapter(adapter);
gv.setOnRefreshListener(this);
}
private void findbyid() {
gv = (PullToRefreshGridView) mtdipw.findViewById(R.id.gv);
}
class gvadapter extends BaseAdapter {
private Context mContext;
// private List<PhotoWallList> list = new ArrayList<PhotoWallList>();
/*
* public List<PhotoWallList> getList() { return list; }
*/
private List<PhotoWallList> mList;
public gvadapter(Context context, List<PhotoWallList> list) {
super();
Log.i("test", "进来:" + list.size());
this.mContext = context;
this.mList = list;
// TODO Auto-generated constructor stub
}
@Override
public int getCount() {
// TODO Auto-generated method stub
//return (mList != null ? mList.size() : 0);
return (mList != null && mList.size()>0 ? 20 : 0);
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = View.inflate(mContext,
R.layout.microtravel_detaili_info_photowall_item, null);
holder.iv = (ImageView) convertView.findViewById(R.id.iv);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
/*ImageCache
.display(
"http://s0.hao123img.com/res/r/image/2014-09-23/0e348339febbb4eb0c3ceeba26067a1b.jpg",
holder.iv, R.drawable.coverdefault);*/
holder.iv.setBackgroundResource(R.drawable.coverdefault_170);
return convertView;
}
}
class ViewHolder {
ImageView iv;
}
@Override
public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) {
// TODO Auto-generated method stub
getDate(false);
pageIndex = 1;
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) {
// TODO Auto-generated method stub
if (gv.isLastPage()) {
gv.onRefreshComplete();
} else {
getDate(false);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#F1F1F1" />
<com.gift.android.widget.pulltorefreshlistview.PullToRefreshGridView xmlns:ptr="http://schemas.android.com/apk/res/com.gift.android"
android:id="@+id/gv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:horizontalSpacing="5dp"
android:listSelector="@null"
android:numColumns="3"
android:scrollbars="none"
android:verticalSpacing="5dp"
ptr:ptrMode="both" >
</com.gift.android.widget.pulltorefreshlistview.PullToRefreshGridView>
</LinearLayout>