首页里面的AndroidFragment

主布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/pull_to_refresh_listview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>



子布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/item_android_pic"
        android:layout_width="50dp"
        android:layout_height="50dp"

        android:src="@mipmap/ic_launcher" />


<TextView
        android:id="@+id/item_android_tv"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"


        android:text="标题"
        android:textSize="20sp" />


</LinearLayout>



   AndroidFragment    java代码

public class AndroidFragment extends Fragment {


    private View view;
    private PullToRefreshListView listView;
    private myListAdapter adapter;
    private int page = 1;
  private List<AndroidBean.ResultsBean> list=new ArrayList<>();
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.andrioid_layout, null);
        initViews();
        return view;
    }


    private void initViews() {
        listView = view.findViewById(R.id.pull_to_refresh_listview);


        listView.setMode(PullToRefreshListView.Mode.BOTH);
            listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
                @Override
                public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                        page=1;
                    getDataFromNet();
                }


                @Override
                public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
  page++;
                    getDataFromNet();
                }
            });
    }


    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        adapter = new myListAdapter(getContext(), list);
        listView.setAdapter(adapter);
    }
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            //请求网络数据数据
            getDataFromNet();
        }
    }


    public void getDataFromNet() {
        HttpUtils httpUtils = HttpUtils.getInstance();
        httpUtils.get(HttpConfig.ANDROID_URL+page);
        httpUtils.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
            @Override
            public void getSuccess(String json) {
                Gson gson = new Gson();
                AndroidBean bean = gson.fromJson(json, AndroidBean.class);
                if(page==1){
                    list.clear();
                }
                list.addAll(bean.getResults());
                adapter.notifyDataSetChanged();
                listView.onRefreshComplete();
            }


            @Override
            public void getError(String error) {


            }
        });


    }
    public static AndroidFragment create(String title) {
        Bundle bundle = new Bundle();
        bundle.putString("title", title);
        AndroidFragment f = new AndroidFragment();
        f.setArguments(bundle);
        return f;
    }

}



myListAdapter

public class myListAdapter extends BaseAdapter {
    private Context context;
    private List<AndroidBean.ResultsBean> list;


    public myListAdapter(Context context, List<AndroidBean.ResultsBean> list) {
        this.context = context;
        this.list = list;
    }


    @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) {
          ViewHolder holder;
       if(convertView==null){
           convertView= View.inflate(context,R.layout.item_android,null);
          holder= new ViewHolder();
         holder.textView=  convertView.findViewById(R.id.item_android_tv);
          holder.imageView= convertView.findViewById(R.id.item_android_pic);
           convertView.setTag(holder);
       }else{
        holder= (ViewHolder) convertView.getTag();
       }


        List<String> images = list.get(position).getImages();
        if (images!=null&&images.size()>0){
            String pic_url = images.get(0);
            ImageLoader.getInstance().displayImage(pic_url,holder.imageView, MyApp.getOptions());
        }


        holder.textView.setText(list.get(position).getDesc());
        return convertView;
    }
    class ViewHolder{
        private ImageView imageView;
        private TextView textView;


    }
}



猜你喜欢

转载自blog.csdn.net/qq_41637459/article/details/80471138