SimpleCursorTreeAdapter - Как настроить дочерний макет - PullRequest
1 голос
/ 10 августа 2010

Я играл со следующим примером приложения для Android.

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList2.html

Я могу вызвать действие, когда ребенок нажимается, но я не могу понять, как: 1. Настройте метку каждого ребенка.2. Изменить, как выглядит каждый ребенок.(например, я бы хотел, чтобы каждый ребенок отображал номер телефона, а затем две графические кнопки справа. К каждой кнопке привязано настраиваемое действие.)

Любой код или ссылки будут высоко оценены.

Ответы [ 3 ]

1 голос
/ 17 августа 2010

Одним из возможных решений может быть установка SimpleCursorTreeAdapter.ViewBinder с использованием setViewBinder , так же, как для SimpleCursorAdapter.

Я совсем не уверен, что это сработает, поскольку я не пробовал, но, похоже, похоже. Я пытаюсь решить ту же проблему, поэтому, если она не работает, я постараюсь опубликовать здесь.

1 голос
/ 03 сентября 2013

Вы можете переопределить «bindChildView» в вашем SimpleCursorTreeAdapter.Вот как я это сделал:

      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 адаптеру при его создании, чтобы он использовал их в bindChildView.

0 голосов
/ 11 августа 2010

Возможно, вы захотите посмотреть CursorTreeAdapter и метод bindChildView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...