动态给listview的item添加样式?

动态给listview的item添加样式?,第1张

给listview里的记录单独定义一个itm.xml文件,单独定义一条记录的布局,像你的可能就是横向的LinearLayout。在getview通过convertView = inflater.inflate(R.layout.xxxx, null)获得view,然后由获得的view得到每条记录的空间(TextView) convertView.findViewById(R.id.xxxx),你这个获得TextView后向里面赋值,赋值完了再根据所赋值设置背景颜色就可以了 查看原帖>>

使用Adapter的notifyDataSetChanged方法会回调Adapter的getView方法,你可以在这个getView方法里添加标志位,只有是当前执行的Item才显示图标,这个图标可以每个Item都有,然后其他的GONE,当然这种方法比较浪费资源;也可以执行到这个Item时向这个Item动态添加一个ImageView,执行完时再移除这个ImageView.

需要先设置列头

ColumnHeader  ch= new ColumnHeader()

ch.Text = "列标题1" 

this.listView1.Columns.Add(ch)

记住几个关键的问题

a、记得添加列既是column

b、记得设置view属性为deteils

代码是最好的解释

private void Form1_Load(object sender, EventArgs e)

{

listView1 .View = View .Details 

ColumnHeader clh

clh=new ColumnHeader ()

clh .Text ="姓名"

listView1 .Columns .Add (clh )

clh=new ColumnHeader ()

clh .Text ="学号"

listView1 .Columns .Add (clh )

clh = new ColumnHeader()

clh .Text ="性别"

listView1 .Columns .Add (clh )

clh = new ColumnHeader()

clh .Text ="成绩"

listView1 .Columns .Add (clh )

//以上代码为添加列

//下面添加组。用性别分组

ListViewGroup grp

grp=new ListViewGroup ()

grp.Header = "男"

listView1 .Groups .Add (grp)

grp=new ListViewGroup ()

grp.Header  ="女"

listView1 .Groups .Add (grp)

//下面添加信息

ListViewItem lvi

lvi =new ListViewItem ()

lvi .Text ="张三 "

lvi.SubItems.Add ("200813340301")

lvi.SubItems.Add("男")

lvi.SubItems.Add ("90")

lvi.Group = listView1.Groups[0]

listView1.Items.Add(lvi)

//  listView1.Groups[0].Items.Add(lvi)

lvi =new ListViewItem ()

lvi .Text ="李华 "

lvi.SubItems.Add ("200813340302")

lvi.SubItems.Add("女")

lvi.SubItems.Add("80")

lvi.Group = listView1.Groups[1]

listView1.Items.Add(lvi)

// listView1.Groups[1].Items.Add(lvi)

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/10983895.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存