ExpandableListView - Действительно ли условное расширение возможно?

Мне связали ExpandableListView с базой данных SQLite. Для упрощения вещей, позволяет, предполагают, что база данных содержит два столбца: title и body. В ExpandableListView существует a group для каждого title, и a childдля каждого соответствия body.

Теперь для создания вещей более интересными некоторые строки в базе данных SQLite не имеют a body (который является..., у них только есть a title). Как Вы видите, если нет никакого тела, то нет никакой причины развернуть группу..., потому что ребенок будет пуст (т.е. Строка body == "").

Я ищу способ поймать такую ситуацию и пропустить расширение группы. Я не хочу, чтобы был расширен пустой ребенок. Для помещения его в код psuedo я хочу что-то вроде этого:

if (body.getText() == "") {
  //DO NOT EXPAND
  //DO OTHER STUFF
}

Какие-либо предложения?

8
задан dfetter88 12 August 2010 в 03:42
поделиться

1 ответ

Уловка заключается в OnGroupClickListener. Следующий код должен работать. Поместите в конец метода onCreate для ExpandableListActivity.

lv.setOnGroupClickListener(new OnGroupClickListener() {

  @Override
  public boolean onGroupClick(ExpandableListView parent, View v,
      int groupPosition, long id) {

    Cursor c = mDbHelper.fetchRow(id); //Get Title & body from SQLite table
    if (c.getString(Constants.bodyColumn).equals("")) {
      //If the body returned from SQLite is empty, return true
      return true; //True means the click HAS been handled.
    }
    return false; //Click has not been handled, so let Android expand here.
  }
});
15
ответ дан 5 December 2019 в 11:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: