Package io.rong.imkit.conversation
Class ConversationFragment
-
- All Implemented Interfaces:
-
android.content.ComponentCallbacks,android.view.View.OnClickListener,android.view.View.OnCreateContextMenuListener,androidx.activity.result.ActivityResultCaller,androidx.lifecycle.HasDefaultViewModelProviderFactory,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.ViewModelStoreOwner,androidx.savedstate.SavedStateRegistryOwner,io.rong.imkit.widget.adapter.IViewProviderListener,io.rong.imkit.widget.refresh.listener.OnLoadMoreListener,io.rong.imkit.widget.refresh.listener.OnRefreshListener
public class ConversationFragment extends Fragment implements OnRefreshListener, View.OnClickListener, OnLoadMoreListener, IViewProviderListener<T>
lvz
-
-
Field Summary
Fields Modifier and Type Field Description public final static intREQUEST_CODE_FORWARDprotected SmartRefreshLayoutmRefreshLayoutprotected RecyclerViewmListprotected RecyclerView.LayoutManagermLinearLayoutManagerprotected MessageListAdaptermAdapterprotected ItemExposeManager<UiMessage>mExposeManagerprotected MessageViewModelmMessageViewModelprotected RongExtensionViewModelmRongExtensionViewModelprotected RongExtensionmRongExtensionprotected TextViewmNewMessageNumprotected TextViewmUnreadHistoryMessageNumprotected TextViewmUnreadMentionMessageNumprotected intactivitySoftInputModeprotected booleanonScrollStopRefreshList
-
Constructor Summary
Constructors Constructor Description ConversationFragment()
-
Method Summary
Modifier and Type Method Description voidinitConversation(String targetId, Conversation.ConversationType conversationType, Bundle bundle)voidonViewClick(int clickType, UiMessage data)booleanonViewLongClick(View view, int clickType, UiMessage data)booleanonViewLongClick(int clickType, UiMessage data)LinearLayoutgetNotificationContainer()获取顶部通知栏容器 voidhideNotificationView(View notificationView)隐藏调用showNotificationView所显示的通知view voidshowNotificationView(View notificationView)在通知区域显示一个view booleanonBackPressed()voidonRefresh(@NonNull() RefreshLayout refreshLayout)RongExtensiongetRongExtension()voidonActivityResult(int requestCode, int resultCode, @Nullable() Intent data)voidonRequestPermissionsResult(int requestCode, @NonNull() Array<String> permissions, @NonNull() Array<int> grantResults)ViewonCreateView(@NonNull() LayoutInflater inflater, @Nullable() ViewGroup container, @Nullable() Bundle savedInstanceState)findId,绑定监听 voidonViewCreated(@NonNull() View view, @Nullable() Bundle savedInstanceState)voidonResume()voidonPause()voidonStart()voidonStop()voidonDestroyView()voidonClick(View v)voidonLoadMore(@NonNull() RefreshLayout refreshLayout)voidonWarningDialog(String msg)提示dialog. voidnoMoreMessageToFetch()拉取消息结束,没有更多消息可以拉取 MessageListAdapteronResolveAdapter()获取 adapter. voidaddHeaderView(View view)voidaddFooterView(View view)voidsetEmptyView(View view)voidsetEmptyView(@LayoutRes() int emptyId)-
Methods inherited from class androidx.fragment.app.Fragment
dump, equals, getActivity, getAllowEnterTransitionOverlap, getAllowReturnTransitionOverlap, getArguments, getChildFragmentManager, getContext, getDefaultViewModelProviderFactory, getEnterTransition, getExitTransition, getFragmentManager, getHost, getId, getLayoutInflater, getLifecycle, getLoaderManager, getParentFragment, getParentFragmentManager, getReenterTransition, getResources, getRetainInstance, getReturnTransition, getSavedStateRegistry, getSharedElementEnterTransition, getSharedElementReturnTransition, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, getViewLifecycleOwner, getViewLifecycleOwnerLiveData, getViewModelStore, hasOptionsMenu, hashCode, instantiate, isAdded, isDetached, isHidden, isInLayout, isMenuVisible, isRemoving, isResumed, isStateSaved, isVisible, onActivityCreated, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreate, onCreateAnimation, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onDestroy, onDestroyOptionsMenu, onDetach, onGetLayoutInflater, onHiddenChanged, onInflate, onLowMemory, onMultiWindowModeChanged, onOptionsItemSelected, onOptionsMenuClosed, onPictureInPictureModeChanged, onPrepareOptionsMenu, onPrimaryNavigationFragmentChanged, onSaveInstanceState, onViewStateRestored, postponeEnterTransition, registerForActivityResult, registerForContextMenu, requestPermissions, requireActivity, requireArguments, requireContext, requireFragmentManager, requireHost, requireParentFragment, requireView, setAllowEnterTransitionOverlap, setAllowReturnTransitionOverlap, setArguments, setEnterSharedElementCallback, setEnterTransition, setExitSharedElementCallback, setExitTransition, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setReenterTransition, setRetainInstance, setReturnTransition, setSharedElementEnterTransition, setSharedElementReturnTransition, setTargetFragment, setUserVisibleHint, shouldShowRequestPermissionRationale, startActivity, startActivityForResult, startIntentSenderForResult, startPostponedEnterTransition, toString, unregisterForContextMenu -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
initConversation
void initConversation(String targetId, Conversation.ConversationType conversationType, Bundle bundle)
-
onViewClick
void onViewClick(int clickType, UiMessage data)
- Parameters:
clickType- 区分点击事件的标记位data- 传递的数据源
-
onViewLongClick
boolean onViewLongClick(View view, int clickType, UiMessage data)
- Parameters:
view- 触发长按的视图clickType- 区分点击事件的标记位data- 传递的数据源
-
onViewLongClick
boolean onViewLongClick(int clickType, UiMessage data)
- Parameters:
clickType- 区分点击事件的标记位data- 传递的数据源
-
getNotificationContainer
LinearLayout getNotificationContainer()
获取顶部通知栏容器
- Returns:
通知栏容器
-
hideNotificationView
void hideNotificationView(View notificationView)
隐藏调用showNotificationView所显示的通知view
- Parameters:
notificationView- 通知栏 view
-
showNotificationView
void showNotificationView(View notificationView)
在通知区域显示一个view
-
onBackPressed
boolean onBackPressed()
-
onRefresh
void onRefresh(@NonNull() RefreshLayout refreshLayout)
-
getRongExtension
RongExtension getRongExtension()
-
onActivityResult
void onActivityResult(int requestCode, int resultCode, @Nullable() Intent data)
-
onRequestPermissionsResult
void onRequestPermissionsResult(int requestCode, @NonNull() Array<String> permissions, @NonNull() Array<int> grantResults)
-
onCreateView
@Nullable() View onCreateView(@NonNull() LayoutInflater inflater, @Nullable() ViewGroup container, @Nullable() Bundle savedInstanceState)
findId,绑定监听
-
onViewCreated
void onViewCreated(@NonNull() View view, @Nullable() Bundle savedInstanceState)
-
onResume
void onResume()
-
onPause
void onPause()
-
onStart
void onStart()
-
onStop
void onStop()
-
onDestroyView
void onDestroyView()
-
onClick
void onClick(View v)
-
onLoadMore
void onLoadMore(@NonNull() RefreshLayout refreshLayout)
-
onWarningDialog
void onWarningDialog(String msg)
提示dialog. 例如"加入聊天室失败"的dialog 用户自定义此dialog的步骤: 1.定义一个类继承自 ConversationFragment 2.重写 onWarningDialog
- Parameters:
msg- dialog 提示
-
noMoreMessageToFetch
void noMoreMessageToFetch()
拉取消息结束,没有更多消息可以拉取
- Since:
5.8.2
-
onResolveAdapter
MessageListAdapter onResolveAdapter()
获取 adapter. 可复写此方法实现自定义 adapter.
- Returns:
会话列表 adapter
-
addHeaderView
void addHeaderView(View view)
- Parameters:
view- 自定义列表 header view
-
addFooterView
void addFooterView(View view)
- Parameters:
view- 自定义列表 footer view
-
setEmptyView
void setEmptyView(View view)
- Parameters:
view- 自定义列表 空数据 view
-
setEmptyView
void setEmptyView(@LayoutRes() int emptyId)
- Parameters:
emptyId- 自定义列表 空数据的 LayoutId
-
-
-
-