乐趣区

关于android:融云-ConversationListFragment-会话列表添加头部布局

融云 ConversationListFragment 会话列表增加头部布局

公司需要,须要应用融云 SDK 官网的 IMkit 去实现本人的成果,其中一个就是在会话列表头部增加几个 item,通过查看 ConversationListFragment 中的源码发现,有一个 onAddHeaderView 办法,能够在会话列表的 ListView 上增加 Header 头布局。所以找到了实现办法。步骤是这样的。

第一步 创立 MyConversationListFragment 继承 ConversationListFragment。

第二步 复写父类 onAddHeaderView 办法, 并增加返回自定义的布局.

class MyConversationListFragment extends ConversationListFragment {

  /**
   * 会话列表增加头部
   * @return 头部 view
   */
  @Override
  protected List<View> onAddHeaderView() {List<View> headerViews = new ArrayList<>();
    return headerViews;
  }
}

第三步. 创立了一个 top_item_view.xml 实现要头部的成果,而后把此 view 通过 onAddHeaderView 返回给。

class MyConversationListFragment extends ConversationListFragment {
    ...
  /**
   * 会话列表增加头部
   * @return 头部 view
   */
  @Override
  protected List<View> onAddHeaderView() {List<View> headerViews = new ArrayList<>();
    View itemView = findByViewId(R.layout.top_item_view);
    headerViews.add(itemView);
    return headerViews;
  }
  
  ...
}

4. 而后在 Manifest.xml 中应用 MyConversationListFragment 替换 ConversationListFragment.

这样就给 ListView 增加上头布局了。是不是很简略呢

退出移动版