ExpandableListView - 条件扩展是否可行?

dfe*_*r88 8 android expandablelistview

我有一个绑定到SQLite数据库的ExpandableListView.为简化起见,我们假设数据库包含两列:titlebody.在ExpandableListView中,group每个都有title一个child,每个对应一个body.

现在为了使事情变得更有趣,SQLite数据库中的一些行没有body(即......它们只有一个title).如您所见,如果没有正文,则没有理由扩展该组...因为子将为空(即String body == "").

我正在寻找一种方法来捕捉这样的情况,并跳过小组的扩张.我不希望一个空白的孩子被扩大.把它放在psuedo代码中,我想要这样的东西:

if (body.getText() == "") {
  //DO NOT EXPAND
  //DO OTHER STUFF
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

dfe*_*r88 15

诀窍在于OnGroupClickListener.以下代码应该工作.放在ExpandableListActivity的onCreate方法的末尾.

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.
  }
});
Run Code Online (Sandbox Code Playgroud)