listView的使用和场景
驾驶证颜色的含义和使用场景 #生活技巧# #居家生活技巧# #驾驶证#
文章目录 前言目标:展示应该列表和详情关键字 一、listView是什么二、如何实现三、工作原理及优化四、使用场景扩展及总结参考前言
人情似水分高下,世事如云任卷舒。
目标:展示应该列表和详情
1 listview 列表展示,图片文字标题
2 webview 详情展示
关键字
listview,adapter,,,,
一、listView是什么
在日常开发中列表展示是基础的功能,所以学习listview是必须的
二、如何实现
样式xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ListView android:id="@+id/set_list_view_id" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
bash
123456789101112<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView android:id="@+id/icon_image_view" android:layout_width="60dp" android:layout_height="60dp" android:src="@mipmap/ic_launcher"/> <TextView android:id="@+id/app_name_message" android:layout_width="match_parent" android:layout_height="60dp" android:gravity="center_vertical" android:paddingLeft="6dp" android:text="@string/app_name"/> </LinearLayout>
bash
1234567891011121314151617181920数据处理
package com.example.administrator.myapplication.handler; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.transition.Scene; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.example.administrator.myapplication.R; import com.example.administrator.myapplication.utils.L; import java.util.ArrayList; import java.util.List; /** * @ClassName HanderOneActivity * @Author xiaojinlu1990@163.com * @Date 时间 * @Description 列表展示 * @Version 1.0.0 */ public class ListViewActivity extends AppCompatActivity { /** * 步奏 * 1 在layout创建ListView (activity_list_view.xml) * 2 创建每一行layout (activity_app_list.xml) * 3 对应创建每一行数据 * 4 adapter数据填充到每一行 * */ private ListView mListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //创建控件空间 setContentView(R.layout.activity_list_view); mListView = (ListView) findViewById(R.id.set_list_view_id); //创建数据 List<String> infos = getAppListString(); mListView.setAdapter(new AppListAdapter(infos)); } private List<String> getAppListString() { List<String> list = new ArrayList<>(); list.add("app_name1"); list.add("app_name2"); list.add("app_name3"); list.add("app_name4"); list.add("app_name4"); return list; } private List<ResolveInfo> getAppInfos() { Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); return getPackageManager().queryIntentActivities(mainIntent, 0); } /** * * 创建list对象 * */ public class AppListAdapter extends BaseAdapter{ private List<String> mInfos; //构造函数 public AppListAdapter( List<String> infos) { mInfos = infos; } @Override public int getCount() { return mInfos.size(); } @Override public Object getItem(int position) { return mInfos.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { //获取系统服务 LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); //引入数据 convertView = layoutInflater.inflate(R.layout.activity_app_list, null); // 获取控件 TextView textView= (TextView) convertView.findViewById(R.id.app_name_message); ImageView imageView = (ImageView) convertView.findViewById(R.id.icon_image_view); //渲染数据 textView.setText(mInfos.get(position)); return convertView; } } }
bash
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122AndroidManifest.xml 注册
<!-- listview 列表展示 --> <activity android:name=".handler.ListViewActivity" android:label="@string/list_view" />
bash
1234三、工作原理及优化
待补充
四、使用场景
1 联系人 聊天页面,好友动态
2 通讯录 ,短息
3 设置页面,各种列表
4 文件夹用列表
5 o2o外卖,评论
…
扩展及总结
源码 请移步:
https://github.com/xiusan/MyApplication/tree/internet
参考
多留言多点赞你们的只支持是我坚持下去的动力,都支棱起来!!!
网址:listView的使用和场景 https://www.yuejiaxmz.com/news/view/1449498
相关内容
Android 高级控件ListView用法移动应用开发的最佳实践:提高开发效率1.背景介绍 随着智能手机和平板电脑的普及,移动应用程序已经成为了人们日常生活中不可
使用“家庭”App 创建场景和自动化
无尘预湿布应用场景和使用方法
日用陶瓷使用场景
构建美食配送应用:使用Flutter和Google Maps
餐具使用场景建模方案,餐具使用场景建模方案模板
使用“家庭”App 创建场景和自动化
使用Androidstudio完成简单的理财app
共享寄存柜的多种使用场景

