我在一个活动中工作以显示字符串列表,就像这样:
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
String[] lKeys = new String[mKey.size()];
int i = 0;
if (lKeys != null) {
for (Iterator<String> ite = mKey.iterator(); ite.hasNext();) {
String element = ite.next();
if (element.contains("Data")) {
lKeys[i++] = element;
} else {
lKeys[i++] = element + ": " + mValue.get(element);
}
}
}
//
this.setTitle(mTitle);
setListAdapter(new ArrayAdapter<String>(this,R.layout.popupactivity,lKeys));
使用此xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tvResults"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="#000000"
android:background="#ffffff"
android:layout_marginLeft="5dp"
android:textSize="12sp"
android:padding="5dp" >
</TextView>
这很好用,但我需要在列表的行中添加一些颜色。 谁可以帮助我?
非常感谢!
答案 0 :(得分:1)
您可以通过扩展SimpleAdapter并覆盖getView()方法并将背景颜色应用于当前视图行,为ListView的每一行的背景添加不同的颜色。之后使用自定义适配器作为列表。
public class CustomList extends SimpleAdapter {
private int[] colors = new int[] { 0x30ADD8E6, 0x30800080 };
public CustomList(Context context, List<HashMap<String, String>> items, int resource, String[] from, int[] to) {
super(context, items, resource, from, to);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
int colorPos = position % colors.length;
view.setBackgroundColor(colors[colorPos]);
return view;
}}
下一步是使用customList适配器作为列表。喜欢这个
myList = new CustomList (this,R.layout.lay,R.layout.grid_item,from,target);