我不想为视图引用资源(又名 XML 布局),甚至不想使用充气服务。
我已经看过很多关于列表视图示例的页面,但每个人似乎最多都是从 ArrayAdapter 或 CursorAdapter 派生他们的类。
那么,任何人都可以向我展示如何从 BaseAdapter 派生一个类并通过修改其“getView”方法在其中制作自定义列表视图的示例吗?
我不想为视图引用资源(又名 XML 布局),甚至不想使用充气服务。
我已经看过很多关于列表视图示例的页面,但每个人似乎最多都是从 ArrayAdapter 或 CursorAdapter 派生他们的类。
那么,任何人都可以向我展示如何从 BaseAdapter 派生一个类并通过修改其“getView”方法在其中制作自定义列表视图的示例吗?
您可以在 Java 中以编程方式创建视图并设置其属性。如果您熟悉的话,这与使用 AWT/Swing 几乎相同。
public class MyAdapter extends BaseAdapter {
private List<String> items; // could be an array/other structure
// using Strings as example
public MyAdapter(Context context, List<String> items) {
this.context = context;
this.items = new ArrayList<String>(items);
}
public int getCount() {
return items.size();
}
// notice I changed the return type from Object to String
public String getItem(int position) {
return items.get(position);
}
public View getView(int position, View convertView, ViewGroup parent) {
// Really dumb implementation, you should use the convertView arg if it isn't null
TextView textView = new TextView(context);
textView.setText(getItem(position);
/* call other setters on TextView */
return textView;
}
}
您可能必须覆盖其他一些方法,但它们应该是不言自明的。