在运行时以编程方式生成ListView适配器

时间:2013-06-13 11:24:59

标签: java android xml adapter

是否可以在运行时使用Layouts为ListView定义适配器,就像活动一样可以?

我搜索解决方案是因为我无法使用任何XML文件,所以即使是适配器布局也应该写在代码中。

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。你必须在setListAdapter() - methode中定义一个新的ArrayAdapter并覆盖getView() - methode。

setListAdapter(new ArrayAdapter<string>(this, R.layout.list_item, strings) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row;

    if (null == convertView) {
        row = mInflater.inflate(R.layout.list_item, null);
    } else {
        row = convertView;
    }

    TextView tv = (TextView) row.findViewById(android.R.id.text1);
    tv.setText(getItem(position));

    return row;
}
});