我正在开发一个Android应用程序.我已经使用创建了一个列表视图
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arrayname));
getListView().setTextFilterEnabled(true);
Run Code Online (Sandbox Code Playgroud)
现在我想更改所选项目的颜色.我可以通过放置来更改所选项目的背景
listviewobject.getChildAt(position).setBackgroundColor(Color.BLACK);
Run Code Online (Sandbox Code Playgroud)
在onListItemClick()中
此代码正在更改背景颜色,但如果我选择任何其他列表项,那么之前单击的列表项的颜色也是红色.所以我更改以前单击的listitem的颜色
l.getChildAt(prevpos).setBackgroundColor(Color.BLACK);
Run Code Online (Sandbox Code Playgroud)
现在的问题是,如果我将以前点击的listitems颜色的背景更改为黑色.然后我看不到该特定listitem上的文本.我再次点击,然后只有我可以看到该项目上的文本.所以它看起来很好.请帮帮我的朋友
Viv*_*ngh 19
经过大量的帖子和博客后,我发现这个解决方案对我有用......
声明行变量全局
public View row;
your_list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v,
int position, long id) {
if (row != null) {
row.setBackgroundResource(R.color.orange);
}
row = v;
v.setBackgroundResource(R.color.transparent_green);
)};
Run Code Online (Sandbox Code Playgroud)
好吧在列表视图的属性中使用这个mught help:
android:listSelector="@drawable/list_selector"
Run Code Online (Sandbox Code Playgroud)
它会自动将所选的drawable设置为所选项目的背景.希望这适合你,drawable可能是你自己选择的颜色.
说明: 将图像条添加到drawables文件夹,并在列表视图的listSelector属性中设置该图像.现在,您将浏览列表视图,列表视图的背景将是您设置的图像条的颜色,而不是android的原生颜色.希望你现在得到它... :-)
| 归档时间: |
|
| 查看次数: |
28332 次 |
| 最近记录: |