//Manticity
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private ViewPager viewPager;
private Listfs=new ArrayList<>();
private FragmentAdapter fragmentAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
initDatas();
}
private void initDatas() {
Fragment01 f1=new Fragment01();
Fragment02 f2=new Fragment02();
fs.add(f1);
fs.add(f2);
fragmentAdapter=new FragmentAdapter(getSupportFragmentManager(),fs);
viewPager.setAdapter(fragmentAdapter);
}
private void initViews() {
TextView one=findViewById(R.id.one);
TextView two=findViewById(R.id.two);
one.setOnClickListener(this);
two.setOnClickListener(this);
viewPager=findViewById(R.id.viewpager);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.one:
viewPager.setCurrentItem(0);
break;
case R.id.two:
viewPager.setCurrentItem(1);
break;
}
}
}
//Frgament
public class Fragment01 extends Fragment{
private ListView listView;
private View view;
private OneAdapter oneAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view=inflater.inflate(R.layout.fragment01_layout,null);
initViews();
return view;
}
private void initViews() {
listView=view.findViewById(R.id.one_listview);
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser){
initDatas();
}
}
private void initDatas() {
HttpUtils httpUtils=HttpUtils.getInstance();
httpUtils.get(HttpConfig.One_URL);
httpUtils.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
@Override
public void getSuccess(String json) {
Gson gson=new Gson();
OneBean oneBean=gson.fromJson(json,OneBean.class);
Listlist=oneBean.getData();
oneAdapter=new OneAdapter(getContext(),list);
listView.setAdapter(oneAdapter);
}
@Override
public void getError(String error) {
}
});
}
}
//Frgment02
public class SecFragment extends Fragment { private View view; private LinearLayout ll; private PullToRefreshScrollView scrollView; private ViewPager viewPager; private ListView listView; private int page = 1; private List
imageViews = new ArrayList<>(); private List points = new ArrayList<>(); private List bookList = new ArrayList<>(); private MyAdapter myAdapter; private MyHandler myHandler = new MyHandler(); @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.sec_fragment_layout, null); initViews(); myAdapter = new MyAdapter(getContext(), bookList); listView.setAdapter(myAdapter); return view; } @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { getAdData(); } }
//轮播图
private void getAdData() {
HttpUtils httpUtils = HttpUtils.getInstance();
httpUtils.get(HttpConfig.two_url);
httpUtils.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
private AdAdapter adAdapter;
@Override
public void getSuccess(String json) {
Gson gson = new Gson();
AdBean adBean = gson.fromJson(json, AdBean.class);
//轮播图数据
List list = adBean.getData();
//循环,加载图片---viewpager
imageViews.clear();
points.clear();
for (int i = 0; i < list.size(); i++) {
ImageView imageView = new ImageView(getContext());
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
String icon = list.get(i).getIcon();
//
ImageLoader.getInstance().displayImage(icon, imageView, MyApp.getOptions());
imageViews.add(imageView);
//添加小圆点
ImageView point = new ImageView(getContext());
point.setImageResource(R.drawable.my_selector);
points.add(point);
ll.addView(point);
}
//默认第一个选中
points.get(0).setSelected(true);
//适配器
adAdapter = new AdAdapter(imageViews);
viewPager.setAdapter(adAdapter);
//发送消息,开始轮播
myHandler.sendEmptyMessageDelayed(0, 2000);
//请求书籍列表
getBookList();
}
@Override
public void getError(String error) {
}
});
}
public void getBookList() {
HttpUtils httpUtils = HttpUtils.getInstance();
httpUtils.get(HttpConfig.three_url);
httpUtils.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
@Override
public void getSuccess(String json) {
Gson gson = new Gson();
BookBean bookBean = gson.fromJson(json, BookBean.class);
List bookList1 = bookBean.getData();
// if (page == 1) {
// bookList.clear();
// }
bookList.addAll(bookList1);
myAdapter.notifyDataSetChanged();
scrollView.onRefreshComplete();
}
@Override
public void getError(String error) {
}
});
}
private void initViews() {
ll = view.findViewById(R.id.ll);
scrollView = view.findViewById(R.id.pull_to_refresh_scrollview);
viewPager = view.findViewById(R.id.viewpager);
listView = view.findViewById(R.id.listview);
//
scrollView.setMode(PullToRefreshBase.Mode.BOTH);
scrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
page = 1;
getBookList();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
page++;
getBookList();
}
});
}
//使用Handler进行轮播
class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
//切换小圆点
for (int i = 0; i < points.size(); i++) {
int j = viewPager.getCurrentItem();
j = j % points.size();
if (i == j) {
points.get(i).setSelected(true);
} else {
points.get(i).setSelected(false);
}
}
myHandler.sendEmptyMessageDelayed(0, 2000);
}
}
@Override
public void onDestroy() {
super.onDestroy();
myHandler.removeCallbacksAndMessages(null);
}
}