是否可以在运行时使用布局为 ListView 定义适配器,就像活动一样?
我正在寻找解决方案,因为我不能使用任何 XML 文件,所以即使是适配器布局也应该写在代码中。
好的,我找到了解决方案。您必须在 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;
}
});