我一直在玩以下Android应用程序示例。
我可以在点击一个孩子时触发一个动作,但我似乎无法弄明白 如何: 1.自定义每个孩子的标签。 2.改变每个孩子的样子。 (例如,我希望每个孩子都显示电话号码,然后右侧显示两个图形按钮。每个按钮都会有一个自定义操作。)
非常感谢任何代码或链接。
答案 0 :(得分:1)
一种可能的解决方案可能是使用SimpleCursorTreeAdapter.ViewBinder设置setViewBinder,就像使用SimpleCursorAdapter一样。
我完全不确定这是否有效,因为我没有尝试过,但它似乎是相似的。我正在尝试解决同样的问题,所以如果它不起作用,我会尝试在这里发布。
答案 1 :(得分:1)
您可以在SimpleCursorTreeAdapter中覆盖“bindChildView”。这就是我做到的:
class MyAdapter extends SimpleCursorTreeAdapter {
@Override
protected void bindChildView(View view, Context context, Cursor cursor, boolean isLastChild) {
// TODO Auto-generated method stub
super.bindChildView(view, context, cursor, isLastChild);
String title = cursor.getString(cursor.getColumnIndex(Alert.COL_DAY));
((TextView)view.findViewById(R.id.child_day)).setText(title);
}
public MyAdapter(Context context, Cursor cursor,
int groupLayout, String[] groupFrom, int[] groupTo,
int childLayout, String[] childFrom, int[] childTo) {
super(context, cursor, groupLayout, groupFrom, groupTo, childLayout, childFrom, childTo);
}
protected Cursor getChildrenCursor(Cursor groupCursor) {
int idColumn = groupCursor.getColumnIndex(Pill.COL_ID);
return Alert.list(db, groupCursor.getInt(idColumn), null, Alert.COL_DAY);
}
}
但是,你必须在创建时将childFrom和childTo params提供给适配器,因此它将在bindChildView中使用它们。
答案 2 :(得分:0)
您可能需要查看CursorTreeAdapter和bindChildView方法。