//Main
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import com.recker.flybanner.FlyBanner;
import java.util.ArrayList;
import java.util.List;
public class Tone1 extends Fragment {
private int page;
private final int Counts=5;
private String path="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=%d&page=%d";
private FlyBanner fly;
private PullToRefreshGridView gridview;
private MygridviewBase adapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.one1,container,false);
fly=view.findViewById(R.id.fly);
page=1;
gridview=view.findViewById(R.id.a_gridview);
GridView refreshableView = gridview.getRefreshableView();
refreshableView.setNumColumns(2);
return view;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//if(BuildConfig.DEBUG) {
//return;
//}
List<Integer> list=new ArrayList<>();
list.add(R.drawable.a);
list.add(R.drawable.c);
list.add(R.drawable.d);
fly.setImages(list);
adapter=new MygridviewBase(getActivity());
gridview.setAdapter(adapter);
gridview.setMode(PullToRefreshBase.Mode.BOTH);
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (page==1){
page=1;
load();
}else {
load();
}
}
});
page=1;
load();
}
private void load() {
BeanUtil.setstring(String.format(path,Counts,page),Bean.class, new BeanUtil.Callback<Bean>() {
@Override
public void setsuccess(Bean o) {
if (page==1){
adapter.setdata(o.getResult());
}else {
adapter.adddata(o.getResult());
}
page++;
gridview.onRefreshComplete();
}
});
}
}
//布局
<com.recker.flybanner.FlyBanner
android:id="@+id/fly"
android:layout_width="match_parent"
android:layout_height="200dp" />
<com.handmark.pulltorefresh.library.PullToRefreshGridView
android:id="@+id/a_gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"></com.handmark.pulltorefresh.library.PullToRefreshGridView>
适配器
class MygridviewBase extends BaseAdapter {
private List<Bean.ResultBean> mlist;
private Context context;
public MygridviewBase(Context context) {
this.context = context;
mlist=new ArrayList<>();
}
public void setdata(List<Bean.ResultBean> list) {
mlist.clear();
if (list!=null){
mlist.addAll(list);
}
notifyDataSetChanged();
}
public void adddata(List<Bean.ResultBean> list) {
if (list!=null){
mlist.addAll(list);
}
notifyDataSetChanged();
}
@Override
public int getCount() {
return mlist.size();
}
@Override
public Bean.ResultBean getItem(int position) {
return mlist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView==null){
convertView=View.inflate(context,R.layout.item,null);
holder=new ViewHolder();
holder.text_title=convertView.findViewById(R.id.text_title);
holder.image=convertView.findViewById(R.id.image);
convertView.setTag(holder);
}else {
holder= (ViewHolder) convertView.getTag();
}
holder.text_title.setText(getItem(position).getSummary());
ImageLoader.getInstance().displayImage(getItem(position).getImageUrl(),holder.image);
return convertView;
}
class ViewHolder{
TextView text_title;
ImageView image;
}
}