GridView

 
 
public class Fragment03 extends Fragment { private PullToRefreshGridView pgv; private int pager= 10; private int pagertype= 1; private MyAdapter1 myAdapter; private List<ReaData1.NewslistBean> datas; private String path= "http://api.tianapi.com/social/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+ pager; @Nullable @Override public View onCreateView(LayoutInflater inflater , @Nullable ViewGroup container , @Nullable Bundle savedInstanceState) { View view=inflater.inflate( R.layout. f3,container ,false ) ; pgv = view.findViewById( R.id. gv ) ; datas= new ArrayList<>( ) ; initplv() ; initData() ; return view ; } private void initplv() { pgv.setMode( PullToRefreshBase.Mode. BOTH ) ; pgv.setOnRefreshListener( new PullToRefreshBase.OnRefreshListener2<GridView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<GridView> pullToRefreshBase) { pagertype= 1; pager= 1; path= "http://api.tianapi.com/social/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+ pager; initData() ; } @Override public void onPullUpToRefresh(PullToRefreshBase<GridView> pullToRefreshBase) { pagertype= 2; pager+= 20; path= "http://api.tianapi.com/social/?key=b6605dd3366f74ff0b56c518bcf9791e&num="+ pager; initData() ; } } ) ; } private void initData() { MyTask task = new MyTask( new MyTask.ICallBacks() { @Override public void getJsonData(String jsonstr) { Gson gson = new Gson() ; ReaData1 reaData1 = gson.fromJson( jsonstr , ReaData1. class ) ; List<ReaData1.NewslistBean> newslist = reaData1.getNewslist() ; if ( pagertype== 1){ datas.clear() ; } datas.addAll( newslist) ; setAdapter() ; pgv.onRefreshComplete() ; } } ) ; task.execute( path ) ; } private void setAdapter() { if ( myAdapter== null){ myAdapter = new MyAdapter1( datas, getActivity() ) ; pgv.setAdapter( myAdapter ) ; } myAdapter.notifyDataSetChanged() ; } }

 
 
public class MyAdapter1 extends BaseAdapter { List<ReaData1.NewslistBean> list; Context context; private final DisplayImageOptions options; public MyAdapter1(List<ReaData1.NewslistBean> list , Context context) { this. list = list ; this. context = context ; options = new DisplayImageOptions.Builder().cacheInMemory( true ) //使用内存缓存 .cacheOnDisk( true ) //使用磁盘缓存 .bitmapConfig( Bitmap.Config. RGB_565 ) //设置图片色彩模式 .imageScaleType( ImageScaleType. EXACTLY ) //设置图片的缩放模式 // .displayer(new RoundedBitmapDisplayer(50))//设置圆角 .build() ; } @Override public int getCount() { return list.size() ; } @Override public Object getItem( int position) { return list.get( position ) ; } @Override public long getItemId( int position) { return position ; } @Override public View getView( int position , View convertView , ViewGroup parent) { MyHolder holder ; if (convertView== null){ convertView=View. inflate( context, R.layout. itemimg,null ) ; holder= new MyHolder() ; holder. imageView=convertView.findViewById( R.id. img ) ; convertView.setTag( holder ) ; } else { holder= (MyHolder) convertView.getTag() ; } ImageLoader. getInstance().displayImage( list.get( position ).getPicUrl() ,holder. imageView,options ) ; return convertView ; } class MyHolder{ ImageView imageView; } }

 
 

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#f00" android:layout_height="match_parent"> <com.handmark.pulltorefresh.library.PullToRefreshGridView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/gv" android:numColumns="2" ></com.handmark.pulltorefresh.library.PullToRefreshGridView> </android.support.constraint.ConstraintLayout>


<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_width="150dp"
        android:layout_height="100dp"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="15dp"
        android:id="@+id/img"/>
</RelativeLayout>

猜你喜欢

转载自blog.csdn.net/gaoweilong118/article/details/80171552