文章目录

  • XML布局
  • item布局
  • fragment布局
  • HttpUtils
  • JavaBean
  • MyAdapter
  • MyAsyncTask
  • Java代码

XML布局

  <ListViewandroid:layout_weight="1"android:id="@+id/listView"android:layout_width="match_parent"android:layout_height="match_parent"></ListView><LinearLayoutandroid:id="@+id/line"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="200dp"></LinearLayout>

item布局

<ImageViewandroid:id="@+id/image_item"android:layout_width="100dp"android:layout_height="100dp"android:src="@mipmap/ic_launcher"/><TextViewandroid:id="@+id/text_item"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="是是是"android:textSize="20dp"android:layout_marginLeft="20dp"android:layout_marginTop="40dp"/>

fragment布局

<TextViewandroid:id="@+id/fragment_textView"android:layout_width="match_parent"android:layout_height="match_parent"android:text="@string/hello_blank_fragment"android:textSize="25dp"android:gravity="center"/>

HttpUtils

public class HttpUtils {public static String getJson(String path) {InputStream is = null;ByteArrayOutputStream baos = null;HttpURLConnection connection = null;try {URL url = new URL(path);connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.setReadTimeout(5000);connection.setConnectTimeout(5000);connection.connect();if (connection.getResponseCode()==200){is = connection.getInputStream();baos = new ByteArrayOutputStream();int len = 0;byte b[] = new byte[1024];while ((len=is.read(b))!=-1){baos.write(b,0,len);baos.flush();}return baos.toString();}} catch (Exception e) {e.printStackTrace();}return null;}
}

JavaBean

public class JavaBean {/*** ret : 1* data : [{"id":"8289","title":"油焖大虾","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg","collect_num":"1669","food_str":"大虾 葱 生姜 植物油 料酒","num":1669},{"id":"2127","title":"四川回锅肉","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/3/2127.jpg","collect_num":"1591","food_str":"猪肉 青蒜 青椒 红椒 姜片","num":1591},{"id":"30630","title":"超简单芒果布丁","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/31/30630.jpg","collect_num":"1544","food_str":"QQ糖 牛奶 芒果","num":1544},{"id":"9073","title":"家常红烧鱼","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/10/9073.jpg","collect_num":"1425","food_str":"鲜鱼 姜 葱 蒜 花椒","num":1425},{"id":"10097","title":"家常煎豆腐","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/11/10097.jpg","collect_num":"1419","food_str":"豆腐 新鲜红椒 青椒 葱花 油","num":1419},{"id":"10509","title":"水煮肉片","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/11/10509.jpg","collect_num":"1341","food_str":"瘦猪肉 生菜 豆瓣酱 干辣椒 花椒","num":1341},{"id":"46968","title":"红糖苹果银耳汤","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/47/46968.jpg","collect_num":"1252","food_str":"银耳 苹果 红糖","num":1252},{"id":"10191","title":"麻婆豆腐","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/11/10191.jpg","collect_num":"1221","food_str":"豆腐 肉末 生抽 白糖 芝麻油","num":1221},{"id":"2372","title":"皮蛋瘦肉粥","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/3/2372.jpg","collect_num":"1151","food_str":"大米 皮蛋 猪肉 油条 香葱","num":1151},{"id":"2166","title":"蚂蚁上树","pic":"http://www.qubaobei.com/ios/cf/uploadfile/132/3/2166.jpg","collect_num":"1144","food_str":"红薯粉 肉 姜 蒜 花椒","num":1144}]*/private int ret;private List<DataBean> data;public int getRet() {return ret;}public void setRet(int ret) {this.ret = ret;}public List<DataBean> getData() {return data;}public void setData(List<DataBean> data) {this.data = data;}public static class DataBean {/*** id : 8289* title : 油焖大虾* pic : http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg* collect_num : 1669* food_str : 大虾 葱 生姜 植物油 料酒* num : 1669*/private String id;private String title;private String pic;private String collect_num;private String food_str;private int num;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getPic() {return pic;}public void setPic(String pic) {this.pic = pic;}public String getCollect_num() {return collect_num;}public void setCollect_num(String collect_num) {this.collect_num = collect_num;}public String getFood_str() {return food_str;}public void setFood_str(String food_str) {this.food_str = food_str;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}}
}

MyAdapter

public class MyAdapter extends BaseAdapter {private List<JavaBean.DataBean> list;private Context context;private LayoutInflater layoutInflater;public MyAdapter(List<JavaBean.DataBean> list, Context context) {this.list = list;this.context = context;layoutInflater = LayoutInflater.from(context);}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int i) {return list.get(i);}@Overridepublic long getItemId(int i) {return i;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) {ViewHolder holder = null;if (view == null){holder = new ViewHolder();view = layoutInflater.inflate(R.layout.layout_item,null);holder.imageView_item = view.findViewById(R.id.image_item);holder.textView_item = view.findViewById(R.id.text_item);view.setTag(holder);}else {holder = (ViewHolder) view.getTag();}Glide.with(context).load(list.get(i).getPic()).into(holder.imageView_item);holder.textView_item.setText(list.get(i).getTitle());return view;}static class ViewHolder{private ImageView imageView_item;private TextView textView_item;}
}

MyAsyncTask

public class MyAsyncTask extends AsyncTask<String,Void, List<JavaBean.DataBean>> {private List<JavaBean.DataBean> list;private MyAdapter adapter;private Context context;public MyAsyncTask(List<JavaBean.DataBean> list, MyAdapter adapter, Context context) {this.list = list;this.adapter = adapter;this.context = context;}@Overrideprotected List<JavaBean.DataBean> doInBackground(String... strings) {String json = HttpUtils.getJson(strings[0]);Log.i("tag", "doInBackground: +++++++++++++++"+json);if (json!=null){return new Gson().fromJson(json,JavaBean.class).getData();}return null;}@Overrideprotected void onPostExecute(List<JavaBean.DataBean> dataBeans) {super.onPostExecute(dataBeans);list.addAll(dataBeans);adapter.notifyDataSetChanged();}
}

Java代码

public class MainActivity extends AppCompatActivity {private String urlString = "http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1";private ListView listView;private LinearLayout line;private List<JavaBean.DataBean> list = new ArrayList<>();private MyAdapter adapter;private BlankFragment blankFragment;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();new MyAsyncTask(list, adapter, this).execute(urlString);}private void initView() {listView = (ListView) findViewById(R.id.listView);line = (LinearLayout) findViewById(R.id.line);adapter = new MyAdapter(list, this);listView.setAdapter(adapter);FragmentManager supportFragmentManager = getSupportFragmentManager();FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();fragmentTransaction.add(R.id.line,new BlankFragment());fragmentTransaction.commit();listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {FragmentManager supportFragmentManager1 = getSupportFragmentManager();FragmentTransaction fragmentTransaction1 = supportFragmentManager1.beginTransaction();Bundle bundle = new Bundle();bundle.putString("str",list.get(i).getFood_str());blankFragment = new BlankFragment();blankFragment.setArguments(bundle);fragmentTransaction1.replace(R.id.line,blankFragment);fragmentTransaction1.commit();}});}
}

ListView和Fragment相关推荐

  1. android listview动态添加viewpager,向 ViewPager 中添加 包含 ListView 的 Fragment

    对与fragment就不说什么了,直接看API手册吧,亲. 向 ViewPager 中添加 包含 ListView 的 Fragment 的过程比较麻烦.他所表现的效果就是新闻客户端的滑动翻页效果. ...

  2. Android 微信界面简单的侧滑效果+listview+DrawerLayout+fragment+viewpager

    先写一个android.support.v4.widget.DrawerLayout的控件.里面包裹的第一个LinearLayout是主界面的里面是一个viewpager的控件用来实现QQfragme ...

  3. Android的Fragment介绍

    前言 fragment是从android3.0开始提出来的,用来支持大屏幕设备的ui设计.通过将activity划分为多个fragment,不仅提高了设计的灵活性,而且可以在程序运行时改变它们的特征, ...

  4. 如何使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率

    在平常的开发中经常会有很多列表页面,每做一个列表页就需要创建这个布局文件那个Adapter适配器文件等等一大堆与之相关的附属的不必要的冗余文件.如果版本更新迭代比较频繁,如此以往,就会使项目工程变得无 ...

  5. 去除listView和recyclerview滑动到顶部和底部边界的阴影

    xml增加: android:overScrollMode="never" 去除ListView滑到顶部和底部时边缘的黑色阴影: android:fadingEdge=" ...

  6. 7 片段Fragment:模块化

    1 引入 1.1 引入 你已经了解了如何创建"始终如一"的应用,不论它们在什么设备上运行都会以同样的方式工作. 不过,如果你希望应用根据运行的不同环境(比如在手机上运行还是在平板电 ...

  7. Listview滑动(隐藏、显示)Bannner(topview)图

    使用android studio的ScrollingActivity 来实现这个功能public class ScrollingActivity extends AppCompatActivity { ...

  8. Android 练习项目 ——简单记账软件的实现

    一.需求分析 在我们生活中经常不知道钱花在什么地方,但是我们自己又不是很想写在记账本上进行管理,由于智能手机的兴起,手机离我们越来越近,导致我们生活时时刻刻都有手机的存在,所以说手机的操作离我们越来越 ...

  9. 安卓APP源码和设计报告——仿淘宝水果商城

    项目名称 仿淘宝水果商城 项目概述 随着互联网技术地高速发展,计算机进入到每一个人的生活里,从人们的生活方式到整个社会的运转都产生了巨大的变革,而在信息技术发达的今天,互联网的各种娱乐方式都在渗透到人 ...

最新文章

  1. 全文详解:「深度学习」如何协助处理医疗中的「数据难题」
  2. 浅析Android中的消息机制
  3. 设计模式复习-桥接模式
  4. jQuery中get()和eq()的区别
  5. 声明式事务控制的实现
  6. Linux远程管理协议相关知识介绍
  7. 运行Myeclipse发生这事这是怎么回事,大神们
  8. Spring Boot Framework的关键组件和内部构造(自动装配、起步依赖、CLI、Actuator)
  9. python word2vec 移植_真实资讯语料下的Word2Vec的迁移实践:Tag2Vec
  10. 2020中关村论坛百度平行论坛:探索中国AI开源与产业智能化模式
  11. 2012年4月份第3周51Aspx源码发布详情
  12. 红外测试操作步骤_红外分光测油仪操作步骤及注意事项
  13. UA PHYS515A 电磁学II 静电学问题8 球坐标系中的Laplace方程与球谐函数
  14. ubnt+ros 接入无线
  15. ATSC /DVB SI/PSI 主要的区别
  16. 一个屌丝程序猿的人生(四十二)
  17. 用低维向高维“穿梭”的想法来理解高维空间
  18. 若依框架(Ruoyi-vue)上传视频且回显
  19. CAD梦想画图中删除命令
  20. 启发式查询树优化实例

热门文章

  1. 富文本编辑器处理过的字符串部分字符正则捕获不到,含有不可见字符\u200B
  2. 时间序列预测:指数平滑法及python实现
  3. 鸿蒙比AOSP 多了什么
  4. 怎么样修改照片格式?如何批量转化图片格式?
  5. 区块链在这些生活场景中悄然落地了......
  6. python原神抽卡模拟
  7. sqli-labs第五关sql注入流程
  8. Shazam原理分析
  9. 09EL表达式和JSTL标签库
  10. 阿里云GPU服务器租用费用包年包月、一个小时和学生价格