<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="com.example.b_week3.MainActivity">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="100dp"
android:id="@+id/pager"></android.support.v4.view.ViewPager>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll"
android:orientation="vertical"> <RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rg"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginTop="50dp">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb1"
android:checked="true"/> <RadioButton
android:id="@+id/rb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> <RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb3"/>
</RadioGroup>
</LinearLayout>
<com.limxing.xlistview.view.XListView
android:layout_below="@+id/pager"
android:id="@+id/xlv"
android:layout_width="match_parent"
android:layout_height="match_parent"></com.limxing.xlistview.view.XListView> </RelativeLayout>
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{
private boolean flag;
private ViewPager pager;
private RadioGroup rg;
private int con=;
private int page=;
private List<String > imagelist=new ArrayList<String>();
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
int what=msg.what;
pager.setCurrentItem(what);
}
};
private XListView xlv;
private List<Bean.ResultBean.DataBean> list;
private MyBaseadapter adapter; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pager = (ViewPager) findViewById(R.id.pager);
rg = (RadioGroup) findViewById(R.id.rg);
imagelist.add("http://cdn.duitang.com/uploads/blog/201308/18/20130818150526_Ru2Bk.thumb.600_0.png");
imagelist.add("http://www.bkill.com/u/info_img/2012-09/02/2012083116140522302.jpg");
imagelist.add("http://www.it165.net/uploadfile/2011/1218/20111218070928328.jpg"); pager.setAdapter(new My());
jian();
new Thread(){
@Override
public void run() {
while(true) {
try {
Thread.sleep();
con++;
handler.sendEmptyMessage(con);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}.start();
xlv = (XListView) findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
aa();
}
public void aa(){
jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn="+page+"");
}
public void jiexi(String path){
new AsyncTask<String ,Void,String>(){
@Override
protected void onPostExecute(String s) {
if (s!=null){
Gson gson=new Gson();
Bean bean = gson.fromJson(s, Bean.class);
List<Bean.ResultBean.DataBean> list = bean.getResult().getData();
if (adapter==null){
adapter= new MyBaseadapter(MainActivity.this,list);
xlv.setAdapter(adapter);
}else{
adapter.sss(list,flag);
}
}
} @Override
protected String doInBackground(String... params) {
try {
URL url=new URL(params[]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout();
connection.setConnectTimeout();
int code = connection.getResponseCode();
if (code==){
InputStream is = connection.getInputStream();
return info.readFromNetWork(is);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path);
} @Override
public void onRefresh() {
flag=false;
++page;
aa();
xlv.stopRefresh(true);
} @Override
public void onLoadMore() {
flag=true;
++page;
aa();
xlv.stopLoadMore();
} class My extends PagerAdapter{ @Override
public int getCount() {
return Integer.MAX_VALUE;
} @Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
} @Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView=new ImageView(MainActivity.this);
ImageLoader.getInstance().displayImage(imagelist.get(position%imagelist.size()),imageView,appliction.getImageOptions());
container.addView(imageView);
return imageView;
} @Override
public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object);
}
}
public void jian(){
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override
public void onPageSelected(int position) {
switch (position%imagelist.size()){
case :
rg.check(R.id.rb1);
break;
case :
rg.check(R.id.rb2);
break;
case :
rg.check(R.id.rb3);
break;
}
} @Override
public void onPageScrollStateChanged(int state) { }
});
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
switch (checkedId%imagelist.size()){
case R.id.rb1:
pager.setCurrentItem();
break;
case R.id.rb2:
pager.setCurrentItem();
break;
case R.id.rb3:
pager.setCurrentItem();
break;
}
}
});
}
}
public class MyBaseadapter extends BaseAdapter {
private Context context;
private List<Bean.ResultBean.DataBean> list;
public MyBaseadapter(Context context, List<Bean.ResultBean.DataBean> list){
this.context=context;
this.list=list;
}
public void sss(List<Bean.ResultBean.DataBean> data, boolean flag){
for (Bean.ResultBean.DataBean s: data) {
if (flag){
list.add(s);
}else{
list.add(,s);
} }
notifyDataSetChanged();
}
@Override
public int getCount() {
return list!=null?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) {
if (position%==){
convertView=View.inflate(context,R.layout.item,null);
ImageView image= (ImageView) convertView.findViewById(R.id.image);
TextView tv= (TextView) convertView.findViewById(R.id.tv);
tv.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(),image,appliction.getImageOptions());
}else{
convertView=View.inflate(context,R.layout.item2,null);
ImageView image1= (ImageView) convertView.findViewById(R.id.image1);
TextView tv1= (TextView) convertView.findViewById(R.id.tv1);
tv1.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(),image1,appliction.getImageOptions());
} return convertView;
}
}

最新文章

  1. 如何在Texstudio内加载语法检查词典?
  2. PHP在yii2中封装SuperSlide 幻灯片编写自己的SuperSlideWidget的例子
  3. wpf 遮住输入法 问题
  4. EasyUi 改变 selelct 的 下拉内容 div 的高度
  5. CentOS6.5搭建LNMP
  6. 阅读笔记 The Impact of Imbalanced Training Data for Convolutional Neural Networks [DegreeProject2015] 数据分析型
  7. Jmeter Html 报告优化
  8. ios view的frame和bounds之区别(位置和大小)
  9. MIPI DSI 和 D-PHY 初始化序列
  10. Combobox 成员添加
  11. 禁止多行文本框textarea拖拽
  12. 解决 jQuery UI datepicker z-index默认为1 的问题
  13. mysql之 innobackupex备份+binlog日志的完全恢复(命令行执行模式)
  14. 如何在不同的语言/平台中获取Android ID
  15. 2018-2019-2-20175303 实验一 《Java开发环境的熟悉》实验报告
  16. 初识STM32中的USMART组件
  17. pycharm pip 源修改以及包管理(转载)
  18. BZOJ 4326 运输计划
  19. [MySQL]多表关联查询技巧
  20. IBM X 3650 M3服务器RAID0设置

热门文章

  1. Linux 操作系统及其组成,shell命令
  2. 数据结构与算法分析(C++)读书笔记
  3. (转)User-Agent的由来(原来这么有意思)
  4. [Python学习]错误篇一
  5. Tensorflow教程(2)Tensorflow的常用函数介绍
  6. Redis图形化客户端管理软件推荐
  7. springboot +mybatis分页插件PageHelper
  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十一):在小程序中使用 WebSocket (.NET Core)
  9. 如何在vue中使用echart
  10. Python 爬虫:豆瓣电影Top250,包括电影导演、类型、年份、主演