社区
Android
帖子详情
如何给ListView的每一行使用不同的背景图片?
Featured
2011-02-27 04:07:05
注意:是背景图片;不是icon图片。
另外,我实际需要使用的是ExpandableListview,不过这两者应该差不多的吧。
...全文
631
16
打赏
收藏
如何给ListView的每一行使用不同的背景图片?
注意:是背景图片;不是icon图片。 另外,我实际需要使用的是ExpandableListview,不过这两者应该差不多的吧。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
btwuxin
2011-08-14
打赏
举报
回复
看不懂啊 怎么和ListView感觉差那么多呢
小裴同学
2011-03-01
打赏
举报
回复
自定义adapter
public View getView(int position, View convertView, ViewGroup parent) {
View myView = inflater.inflate(R.layout.XXX, null);
if(position==1){
myView.setBackgroundDrawable(R.id.XXX);
}
if(osition==2){
myView.setBackgroundDrawable(R.id.XXX);
}
}
whatwhy83
2011-03-01
打赏
举报
回复
使用adapter时,用map指定多个control和对应的资源drawable
Featured
2011-03-01
打赏
举报
回复
你第一个回复就已经可以了!多谢!
小裴同学
2011-03-01
打赏
举报
回复
楼主我来了。帮你解决了。。这次绝对没问题。。
package com.pei;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
public class TestExpandableList extends Activity {
ExpandableListView expandableList;
public String[] str1 = { "xxxx好友", "xxxx同学", "xxxxx女人" };
public String[] str2 = { "xxxx好友", "xxxx同学" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
expandableList = (ExpandableListView) TestExpandableList.this
.findViewById(R.id.ExpandableListView01);
expandableList.setAdapter(new TreeViewAdapter(this));
}
public class TreeViewAdapter extends BaseExpandableListAdapter {
private LayoutInflater inflater;
private LayoutInflater inflater1;
public TreeViewAdapter(Context c) {
this.inflater = LayoutInflater.from(c);
this.inflater1 = LayoutInflater.from(c);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View myView = inflater1.inflate(R.layout.cc, null);
if (groupPosition == 0) {
myView.setBackgroundResource(R.drawable.icon);
}
if (groupPosition == 1) {
myView.setBackgroundResource(R.drawable.icon);
}
TextView textview = (TextView) myView
.findViewById(R.id.TextView001);
textview.setText(str2[childPosition]);
return myView;
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return 2;
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return "dd";
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return 3;
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View myView = inflater.inflate(R.layout.dd, null);
if (groupPosition == 0) {
myView.setBackgroundResource(R.drawable.icon);
}
if (groupPosition == 1) {
myView.setBackgroundResource(R.drawable.icon);
}
if (groupPosition == 2) {
myView.setBackgroundResource(R.drawable.icon);
}
TextView textview = (TextView) myView.findViewById(R.id.TextView01);
textview.setText(str1[groupPosition]);
return myView;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return false;
}
}
}
Featured
2011-02-28
打赏
举报
回复
谢谢大家,我来试一下。不过,如我上面所说,我真正想实现的是ExpandableListview上面定制背景图片,不知道它的话有什么不同?
ameyume
2011-02-28
打赏
举报
回复
重写Adapter类,实现自定义的list item
gujinf2008
2011-02-28
打赏
举报
回复
说的都差不多,楼主网上搜搜例子应该可以解决了。
芸芸芸芸
2011-02-28
打赏
举报
回复
[Quote=引用 1 楼 feifanup 的回复:]
使用adapter时,用map指定多个control和对应的资源drawable, text etc
[/Quote]
这样是可以实现的
sky123123
2011-02-28
打赏
举报
回复
如果你item很多的话 那肯定是很占用内存的吧
文斌
2011-02-28
打赏
举报
回复
派生自己的Adapter,在GetView中根据Position,利用ImageView加载图片并与你的其他内容组合成一个view或viewGroup或Layout返回,即可。
feifanup
2011-02-28
打赏
举报
回复
ArrayList<HashMap<String, Object>> m_data = new ArrayList<HashMap<String, Object>>();
for xxx
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("background", R.id.drawableBGXXX);
map.put("text", R.id.stringXXXXX);
m_data.add(map);
}
SimpleAdapter m_adapter= new SimpleAdapter(窗口句柄
,m_data //data source
,R.layout.XXX
,new String[]{"background", "text"}
,new int[]{R.id.CONTROLTOSETBACKGROUND, R.id.CONTROLTEXTVIEW});
Featured
2011-02-28
打赏
举报
回复
[Quote=引用 4 楼 feifanup 的回复:]
ArrayList<HashMap<String, Object>> m_data = new ArrayList<HashMap<String, Object>>();
for xxx
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("background", R.id.drawableBG……
[/Quote]
兄弟,我试了这些代码;似乎并不能真正修改背景图片哎。
应该是需要xml文件的吧。真正实现背景绘制的是在xml文件里面。你能不能把xml文件或者整个工程贴上来?多谢了
Featured
2011-02-27
打赏
举报
回复
楼上说的有点笼统。有没有多一点的解释??
CyberLogix
2011-02-27
打赏
举报
回复
用map指定多个control和对应的资源drawable
feifanup
2011-02-27
打赏
举报
回复
使用adapter时,用map指定多个control和对应的资源drawable, text etc
ListView
选中行高亮
当用户点击
ListView
的某
一行
时,通常希望这
一行
能够被高亮显示,以便用户能清晰地看到他们当前选择的内容。"
ListView
选中行高亮"这个话题,就是关于如何实现这个功能的技术要点。 首先,我们来理解一下
ListView
的...
C# Winform
ListView
添加按钮列
`
ListView
`控件是Windows Forms中常用的一种控件,它能够以列表形式显示数据,并支持多种视图模式,如图标、列表、详细信息等。然而,标准的`
ListView
`控件并未内置添加按钮的功能。为了实现“C# Winform
ListView
...
使用
ListView
控件实现漂亮的自定义表格效果实例源码
1. **自定义列头**:为了实现表格的效果,我们可能在
ListView
的第
一行
设计为列头,可以设置特殊的字体、颜色或者
背景图片
,以区分普通数据行。 2. **单元格样式**:通过设置
不同
颜色的背景、文字颜色,以及
使用
...
ListView
圆角显示
然后在Adapter中,你可以为每个item设置这个自定义的RoundedCornerView,并根据需要设置
不同
的
背景图片
和圆角大小。 总结,这两种方法都能实现
ListView
的圆角显示。第一种方法适合于所有item都需统一圆角效果的情况...
安卓中的
ListView
做到每一个item都
不同
---以实现圆角背景效果为例
也许很多人都会想到在getView方法里,根据position去采用
不同
的圆角
背景图片
,如果仅仅是这样,你会发现结果出乎你的意料:为什么有些地方不该圆的它圆了,该圆的它不圆?其实这就是缓存机制导致的。当然了,你也...
Android
80,472
社区成员
91,384
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章