0

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

我正在寻找解决方案,因为我不能使用任何 XML 文件,所以即使是适配器布局也应该写在代码中。

4

1 回答 1

0

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

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;
}
});
于 2013-06-13T11:33:45.070 回答