public class MainActivity extends AppCompatActivity {
private PullToRefreshScrollView scrollView;
private ViewPager viewPager;
private ListView listView;
private List<ImageView> imageViews = new ArrayList<>();
private List<ImageView> points = new ArrayList<>();
private List<BookBean.DataBean> bookList=new ArrayList<>();
private static int page = 0;
private MyAdapter myAdapter;
private MyHandler myHandler=new MyHandler();
private LinearLayout ll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
//请求网络
getAdData();
myAdapter = new MyAdapter(MainActivity.this, bookList);
listView.setAdapter(myAdapter);
}
private void getAdData() {
HttpUtils httpUtils = HttpUtils.getHttpUtils();
httpUtils.get(HttpConifg.ad_url);
httpUtils.setHttpListener(new HttpUtils.HttpListener() {
private AdAdapter adAdapter;
@Override
public void getSuccess(String json) {
Gson gson = new Gson();
AdBean adBean = gson.fromJson(json, AdBean.class);
//轮播图数据
List<AdBean.DataBean> list = adBean.getData();
//循环,加载图片---viewpager
for (int i = 0; i < list.size(); i++) {
ImageView imageView = new ImageView(MainActivity.this);
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(MainActivity.this);
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();
}
});
}
private void initViews() {
ll = findViewById(R.id.ll);
scrollView = findViewById(R.id.pull_to_refresh_scrollview);
viewPager = findViewById(R.id.viewpager);
listView = findViewById(R.id.listview);
//
scrollView.setMode(PullToRefreshBase.Mode.BOTH);
scrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
page=1;
getBookList();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
page++;
getBookList();
}
});
}
public void getBookList() {
HttpUtils httpUtils = HttpUtils.getHttpUtils();
httpUtils.get(HttpConifg.books_url+"?page="+page);
httpUtils.setHttpListener(new HttpUtils.HttpListener() {
@Override
public void getSuccess(String json) {
Gson gson = new Gson();
BookBean bookBean = gson.fromJson(json, BookBean.class);
List<BookBean.DataBean> bookList1 = bookBean.getData();
if (page==1){
bookList.clear();
}
bookList.addAll(bookList1);
myAdapter.notifyDataSetChanged();
scrollView.onRefreshComplete();
}
});
}
//使用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
protected void onDestroy() {
super.onDestroy();
myHandler.removeCallbacksAndMessages(null);
}
}
private PullToRefreshScrollView scrollView;
private ViewPager viewPager;
private ListView listView;
private List<ImageView> imageViews = new ArrayList<>();
private List<ImageView> points = new ArrayList<>();
private List<BookBean.DataBean> bookList=new ArrayList<>();
private static int page = 0;
private MyAdapter myAdapter;
private MyHandler myHandler=new MyHandler();
private LinearLayout ll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
//请求网络
getAdData();
myAdapter = new MyAdapter(MainActivity.this, bookList);
listView.setAdapter(myAdapter);
}
private void getAdData() {
HttpUtils httpUtils = HttpUtils.getHttpUtils();
httpUtils.get(HttpConifg.ad_url);
httpUtils.setHttpListener(new HttpUtils.HttpListener() {
private AdAdapter adAdapter;
@Override
public void getSuccess(String json) {
Gson gson = new Gson();
AdBean adBean = gson.fromJson(json, AdBean.class);
//轮播图数据
List<AdBean.DataBean> list = adBean.getData();
//循环,加载图片---viewpager
for (int i = 0; i < list.size(); i++) {
ImageView imageView = new ImageView(MainActivity.this);
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(MainActivity.this);
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();
}
});
}
private void initViews() {
ll = findViewById(R.id.ll);
scrollView = findViewById(R.id.pull_to_refresh_scrollview);
viewPager = findViewById(R.id.viewpager);
listView = findViewById(R.id.listview);
//
scrollView.setMode(PullToRefreshBase.Mode.BOTH);
scrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
page=1;
getBookList();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
page++;
getBookList();
}
});
}
public void getBookList() {
HttpUtils httpUtils = HttpUtils.getHttpUtils();
httpUtils.get(HttpConifg.books_url+"?page="+page);
httpUtils.setHttpListener(new HttpUtils.HttpListener() {
@Override
public void getSuccess(String json) {
Gson gson = new Gson();
BookBean bookBean = gson.fromJson(json, BookBean.class);
List<BookBean.DataBean> bookList1 = bookBean.getData();
if (page==1){
bookList.clear();
}
bookList.addAll(bookList1);
myAdapter.notifyDataSetChanged();
scrollView.onRefreshComplete();
}
});
}
//使用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
protected void onDestroy() {
super.onDestroy();
myHandler.removeCallbacksAndMessages(null);
}
}