android 自定义 listView
目录:
1.主布局 ListView
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="net.pericles.brdome.listview3dome.MainActivity"> <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/listvis"></ListView></RelativeLayout> 2 ListVIew 自定义cell的布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView android:layout_width="80dp" android:layout_height="80dp" android:id="@+id/imggs" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txt1"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txt2"/> </LinearLayout> </LinearLayout> 3.模型
package net.pericles.brdome.listview3dome; /** * Created by you on 2016/9/21. */public class UserData { private String userId; private String userName; private int iconId; public void setUserId(String userId) { this.userId = userId; } public String getUserId() { return userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public int getIconId() { return iconId; } public void setIconId(int iconId) { this.iconId = iconId; } public UserData() { super(); } public UserData( String userId,String userName, int iconId) { super(); this.userName = userName; this.userId = userId; this.iconId = iconId; } } 4.BaseAdapter方法处理cell
package net.pericles.brdome.listview3dome; import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView; import java.util.List; /** * Created by you on 2016/9/21. */public class myDataAdeter extends BaseAdapter { private Context context; private List<UserData> lists; private LayoutInflater layoutInflaters; ImageView img; TextView tv1; TextView tv2; myDataAdeter(Context context,List<UserData> lists) { this.context =context; this.lists = lists; layoutInflaters = layoutInflaters.from(this.context); } @Override public int getCount() { return lists.size(); } @Override public Object getItem(int position) { return lists.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = layoutInflaters.inflate(R.layout.ist_iemcell,null); } img = (ImageView) convertView.findViewById(R.id.imggs); tv1 = (TextView) convertView.findViewById(R.id.txt1); tv2 = (TextView) convertView.findViewById(R.id.txt2); img.setImageResource(lists.get(position).getIconId()); tv1.setText(lists.get(position).getUserName()); tv2.setText(lists.get(position).getUserId()); return convertView; }} 5.主控制器
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener { private ListView listViews; private List<UserData> osts; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listViews = (ListView) findViewById(R.id.listvis); osts = getOsts(); listViews.setAdapter(new myDataAdeter(this,osts)); listViews.setOnItemClickListener(this); } private List<UserData>getOsts() { List<UserData>lss = new ArrayList<UserData>(); for (int i = 0;i < 20; i ++) { UserData ss = new UserData(); ss.setIconId(R.drawable.img1); ss.setUserName("标题:"+i); ss.setUserId("id:"+i); lss.add(ss); } return lss; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Toast.makeText(this,((UserData)view.getItemAtPosition(position)).getUserName(),0).show(); }} 6.权限
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.pericles.brdome.listview3dome"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
7.效果图
转载于:https://www.cnblogs.com/shenlaiyaoshi/p/5892802.html
android 自定义 listView相关推荐
- android中上拉下滑布局,3年以上勿进!最简单的Android自定义ListView下拉刷新与上拉加载,代码直接拿去用~...
本文主要针对开发新手,手写实现一个最简单Android自定义listview下拉刷新和上拉加载demo. 不喜可喷,欢迎大佬留言指点. 效果图 一:编写需要在ListView中增加头加载的布局文件,与 ...
- Android自定义ListView示例,以创建不可滚动的ListView
In this tutorial we'll override the ListView class to suit it according to our requirements in the a ...
- Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表
本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码 ...
- android仿qq动态视频播放,Android 自定义ListView实现QQ空间界面(说说内包含图片、视频、点赞、评论、转发功能)...
前端时间刚好需要做一个类似于QQ空间的社区分享功能,说说内容包含文字(话题.内容).视频.图片,还需包含点赞,评论,位置信息等功能. 就采用LIstview做了一个,先来看下效果,GIF太大,CSDN ...
- Android 自定义ListView单击事件失效
因为自带的listView不能满足项目需求,通过实现自己的Adapter去继承ArrayAdapter 来实现自定义ListView的Item项目. 出现点击ListView的每一项都不会执行setO ...
- Android 自定义 ListView 显示网络上 JSON 格式歌曲列表
本文内容 环境 项目结构 演示自定义 ListView 显示网络上 JSON 歌曲列表 参考资料 本文最开始看的是一个国人翻译的文章,没有源代码可下载,根据文中提供的代码片段,自己新建的项目(比较可恶 ...
- Android代码 listview选中,android自定义listview的选中状态
中心思想:将选中状态设置为完全透明色(即看不到自定义的选中状态)然后将listview 的每一项的背景设置为选中则切换背景 1,选择2个图片一个为一般的显示状态,另一张为选中状态的图片 在drawab ...
- Android 自定义ListView系列之适配器模式(少壮不努力,老大学IT)
最近做个项目,要用到异步加载,动态刷新UI等.看了下2.2系统的图库源码,感觉写的不错.同时又把ListView拿出来研究了下,做个笔记. 先上图: 1. Android中大量用到了适配器模式,比如L ...
- android自定义listview实现圆角
在项目中我们会经常遇到这种圆角效果,因为直角的看起来确实不那么雅观,可能大家会想到用图片实现,试想上中下要分别做三张图片,这样既会是自己的项目增大也会增加内存使用量,所以使用shape来实现不失为一种 ...
- Android自定义ListView实现仿微信侧滑删除
经常在遇到问题第一时间都会在网上搜索解决的方法,因此看到很多前辈们的比较精辟的技术文章,学习了很多东西,现在将自己平时工作中开发的一些小功能坐下总结,也写出来,既方便自己理清思路记忆功能块实现思路,又 ...
最新文章
- BATZ,一份《Android架构开发手册》就够,已offer
- php增加数量,php – 更新列数量
- eos操作系统_EOS基础全家桶(十一)智能合约IDE-EOS_Studio
- 《人月神话》阅读笔记(三)
- 从事 Android 开发六年,我学到的那些事!
- 相机java程序_以编程方式在Android上用相机拍照
- 父元素浮动子元素会浮动吗_为什么quot;overflow:hiddenquot;能清除浮动的影响
- 小白R语言数据可视化进阶练习一
- 【2022第十届‘泰迪杯’挑战赛】A题:害虫识别完整版(大致思路。详细过程和代码以及结果csv在压缩包中)
- 使用ECharts绘制中国地图
- wegame开dnf正在连接服务器,DNF安装wegame后显示无网络连接状态解决办法
- 微信公众号发红包功能,现金红包、裂变红包接口
- 在家搭建 Minecraft 服务器,和远程小伙伴一起联机
- python抓取豌豆荚app数据信息
- 2013年第四届C B组蓝桥杯省赛真题
- fast-lio2论文阅读 《FAST-LIO2: Fast Direct LiDAR-inertial Odometry》
- 1024程序员节:北京尚学堂向改变世界的程序员致敬
- Nginx 反向代理 虚拟二级目录
- 关于晋升全栈工程师,从入门到放弃的神功秘籍,不点进来看一看?
- 数据结构与算法 迷宫夺宝 C语言