PullToRefrsh+Handler 自己的轮播

///PullTorefresh
//布局

<com.example.pulltolibrary.PullToRefreshListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/PullToRefresh"
    ></com.example.pulltolibrary.PullToRefreshListView>
//逻辑 public class Afragment_b extends Fragment {
private String mUrl = "http://api.expoon.com/AppNews/getNewsList/type/1/p/";
private List<MyData.DataBean> mList=new ArrayList<>();
private PullToRefreshListView pull;
private MyAdapter2 adapter2;
private int inde=1;
private Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        mList.addAll((List<MyData.DataBean>)msg.obj);
        adapter2.notifyDataSetChanged();
        pull.onRefreshComplete();
    }
};

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View v=inflater.inflate(R.layout.afragment_b,null);

    initView(v);
    adapter2 = new MyAdapter2(getContext(),mList);
    pull.setAdapter(adapter2);
    getData(inde);

    pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
        @Override
        public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
            inde=1;
            mList.clear();
            getData(inde);
        }

        @Override
        public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            inde++;
            getData(inde);
        }
    });
    
    return v;
}

private void getData(int index) {
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                URL url = new URL(mUrl + inde);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                if (connection.getResponseCode() == 200) {
                    InputStream inputStream = connection.getInputStream();
                    BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
                    Gson gson = new Gson();
                    MyData myData = gson.fromJson(br, MyData.class);
                    handler.sendMessage(handler.obtainMessage(0, myData.getData()));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }).start();
}

private void initView(View v) {
    pull = v.findViewById(R.id.PullToRefresh);
    //设置上下拉滑动
    pull.setMode(PullToRefreshBase.Mode.BOTH);
}

}

//**手写轮播图

<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:id="@+id/lunVP"
    ></android.support.v4.view.ViewPager>

//
public class Bfragment_a extends Fragment {

private ViewPager lunVp;
private int index=0;
private Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        index++;
        lunVp.setCurrentItem(index);
        sendEmptyMessageDelayed(0,2000);
    }
};

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View v=inflater.inflate(R.layout.bfragment_a,null);
    initView(v);
    return v;
}

private void initView(View v) {
    lunVp = v.findViewById(R.id.lunVP);
    lunVp.setAdapter(new PageAdapter(getContext()));
    handler.sendEmptyMessageDelayed(0,2000);
}

猜你喜欢

转载自blog.csdn.net/qq_43603312/article/details/84203806