android上的自定义listView,同一项目上的两种颜色

时间:2013-11-12 14:26:25

标签: android listview

我想自定义android listView。我需要一个右侧的图标,带有绿色的标题和更大的字体和带有黑色和更小字体的子标题以及左侧的另一个图标。它应该如下所示:

enter image description here

以下是我的代码:

Class MyList extends Activity{
ListView listView ;
ArrayList<String> listItems=new ArrayList<String>();
ArrayAdapter<String> adapter;
String iconUrl = "http://www.someurl.com/icon.png";
String iconUrl2= "http://www.someurl.com/icon2.png";
int counter = 0;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_layout);
listView = (ListView) findViewById(R.id.list);
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listItems);
listView.setAdapter(adapter);
someFunctionOnButtonClicked();

//following function to add items to list dynamically
public void someFunctionOnButtonClicked(){
String string1 = "List item "+counter+" Header";
String string2 = "List item "+counter+" sub-header";
listItems.add(string1+"\n"+string2);
adapter.notifyDataSetChanged();
}

现在如何为同一个列表项上的两个标题设置不同的字体粗细和颜色?如何在两端包含图像?请帮忙。谢谢。

2 个答案:

答案 0 :(得分:3)

通过扩展ArrayAdapter类为列表创建自定义适配器 这是一个优秀的tu Adapter implementations - vogella

答案 1 :(得分:0)

您需要为此实现自己的自定义ArrayAdapter,并在getView方法中以编程方式设置文本颜色。看看this example