# java.lang.ClassCastException: com.sendbird.android.User cannot be cast to com.sendbird.android.Member

**URL:** https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690
**Category:** Sendbird Chat UIKit
**Tags:** uikit, android
**Created:** [January 4, 2022, 7:05am UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690 "2022-01-04T07:05:31Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![manishahire](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/manishahire/32/1668_2.png) [@manishahire](https://community.sendbird.com/u/manishahire)
#### Post date: [January 4, 2022, 7:05am UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690/1 "2022-01-04T07:05:31Z")

</div>

Hi there i am facing this error in Custom UiKit dependency, this error is not frequently generating but it will generate for sure and crashing my app, how to tackle this error.

```auto
Code

new BannedListFragment.Builder(data.getUrl(), R.style.SendBird_Custom)
                        .setCustomBannedMemberFragment(new CustomBannedListFragment())
                        .setUseHeader(false)
                        .setHeaderTitle(mContext.getResources().getString(R.string.sb_text_menu_banned_members))
// .setUseHeaderLeftButton(false)
// .setUseHeaderRightButton(false)
                        .setEmptyText(R.string.sb_text_empty_no_banned_member)
// .setEmptyIcon(R.drawable.icon_ban, AppCompatResources.getColorStateList(mContext, R.color.primary_300))
                        .setEmptyIcon(R.drawable.icon_ban, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderBackColor()))
// .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, AppCompatResources.getColorStateList(mContext, R.color.ondark_01))
                        .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderForeColor()))
                        .setHeaderLeftButtonListener(null)
// .setHeaderRightButtonIcon(R.drawable.icon_plus, AppCompatResources.getColorStateList(mContext, R.color.ondark_01))
                        .setHeaderLeftButtonIcon(R.drawable.icon_plus, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderForeColor()))
// .setHeaderRightButtonListener(null)
// .setActionItemClickListener(null)
// .setItemClickListener(null)
// .setItemLongClickListener(null)
// .setUserListAdapter(null)
                        .build()

```

````auto
Error

java.lang.ClassCastException: com.sendbird.android.User cannot be cast to com.sendbird.android.Member
at com.sendbird.uikit.activities.adapter.MemberListAdapter.getItem(MemberListAdapter.java:75)
at com.sendbird.uikit.activities.adapter.MemberListAdapter.onBindViewHolder(MemberListAdapter.java:54)
at com.sendbird.uikit.activities.adapter.MemberListAdapter.onBindViewHolder(MemberListAdapter.java:26)
at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7065)
at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7107)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6012)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6279)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1627)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1873)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at androidx.drawerlayout.widget.DrawerLayout.onLayout(DrawerLayout.java:1231)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:1225)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4260)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3695)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2618)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9965)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1010)
at android.view.Choreographer.doCallbacks(Choreographer.java:809)
at android.view.Choreographer.doFrame(Choreographer.java:744)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:995)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8506)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1139)```
````

---

<div class="post-metadata">

### Author: ![LeoShin](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/leoshin/32/397_2.png) [@LeoShin](https://community.sendbird.com/u/LeoShin)
#### Post date: [January 7, 2022, 1:27am UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690/2 "2022-01-07T01:27:18Z")

</div>

Hi @manishahire, BannedListFragment uses User type data, not Member type, and MemberListAdapter in UIKit uses Member type data. So I don’t think there will be a problem using UserTypeListAdapter, not MemberListAdapter.

---

<div class="post-metadata">

### Author: ![manishahire](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/manishahire/32/1668_2.png) [@manishahire](https://community.sendbird.com/u/manishahire)
#### Post date: [January 10, 2022, 5:29am UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690/3 "2022-01-10T05:29:36Z")

</div>

Hi @LeoShin i am getting this error when i go from members to operators list. i think this happening because of cache.

---

<div class="post-metadata">

### Author: ![LeoShin](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/leoshin/32/397_2.png) [@LeoShin](https://community.sendbird.com/u/LeoShin)
#### Post date: [January 10, 2022, 10:02am UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690/4 "2022-01-10T10:02:14Z")

</div>

In UIkit, there is no screen moving from the member list screen to the operator list. It seems that you have customized it and are using it, but can you show me a code snippet calling the screen in question?

---

<div class="post-metadata">

### Author: ![manishahire](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/manishahire/32/1668_2.png) [@manishahire](https://community.sendbird.com/u/manishahire)
#### Post date: [January 10, 2022, 10:18am UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690/5 "2022-01-10T10:18:43Z")

</div>

```auto
1:- calling member list --> members data will show which is perfect
        MainFragmentsContainerActivity.mActivity.pushFragments(
                new MemberListFragment.Builder(data.getUrl(), R.style.CustomUserListStyle)
                        .setCustomMemberListFragment(new CustomMemberListFragment())
                        .setUseHeader(false)
                        .setHeaderTitle(mContext.getResources().getString(R.string.sb_text_header_member_list))
                        .setUseHeaderLeftButton(false)
                        .setUseHeaderRightButton(false)
                        // .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, AppCompatResources.getColorStateList(mContext, R.color.ondark_01))
                        .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderForeColor()))
                        // .setHeaderRightButtonIcon(R.drawable.icon_add, AppCompatResources.getColorStateList(mContext, R.color.ondark_01)) //icon_add_member missing
                        .setHeaderRightButtonIcon(R.drawable.icon_add, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderBackColor()))
                        .setHeaderLeftButtonListener(null)
                        // .setHeaderRightButtonListener(v -> showCustomInviteChannelActivity(channelUrl))
                        .setItemClickListener(null)
                        // .setMemberListAdapter(new CustomMemberListAdapter())
                        .setMemberListAdapter(null)
                        .setItemLongClickListener(null)
                        .build() , true, true, false);
						
						

```

```auto
2:- after backpress i went to the group info page on which i click on Moderation

        MainFragmentsContainerActivity.mActivity.pushFragments(new ModerationFragment.Builder(data.getUrl(), R.style.SendBird_Custom)
                .setCustomModerationFragment(new CustomModerationFragment())
                .setUseHeader(false)
                .setUseHeaderLeftButton(false)
                .setHeaderTitle(mContext.getResources().getString(R.string.sb_text_channel_settings_moderations))
// .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, AppCompatResources.getColorStateList(mContext, R.color.ondark_01))
                .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderForeColor()))
                .setHeaderLeftButtonListener(null)
                .setOnMenuItemClickListener(null)
                .build() , true, true, false);

```

```auto
3: On Moderation i click on Operators :- app will crash here
			
			 MainFragmentsContainerActivity.mActivity.pushFragments(new OperatorListFragment.Builder(data.getUrl(), R.style.SendBird_Custom)
                .setCustomOperatorListFragment(new CustomOperatorListFragment())
                .setUseHeader(false)
                .setUseHeaderLeftButton(false)
                .setUseHeaderRightButton(false)
                .setHeaderTitle(mContext.getResources().getString(R.string.sb_text_menu_operators))
// .setEmptyIcon(R.drawable.icon_chat, AppCompatResources.getColorStateList(mContext, R.color.primary_300))
                .setEmptyIcon(R.drawable.icon_chat, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderBackColor()))
                .setEmptyText(R.string.sb_text_user_list_empty)
// .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, AppCompatResources.getColorStateList(mContext, R.color.ondark_01))
                .setHeaderLeftButtonIcon(R.drawable.icon_arrow_left, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderForeColor()))
                .setHeaderLeftButtonListener(null)
                .setHeaderLeftButtonIcon(R.drawable.icon_plus, ColorStateList.valueOf(Theme.getInstance(mContext, ((ApplicationClass) mContext.getApplicationContext()).getCurrentEventKey()).getHeaderForeColor()))
// .setHeaderRightButtonIcon(R.drawable.icon_plus, AppCompatResources.getColorStateList(mContext, R.color.ondark_01))
// .setHeaderRightButtonListener(v -> {
// Intent intent = PromoteOperatorsActivity.newIntentFromCustomActivity(this, CustomPromoteOperatorsActivity.class, channelUrl);
// startActivity(intent);
// })
                .setItemClickListener(null)
                .setItemLongClickListener(null)
                .setActionItemClickListener(null)
                .setUserListAdapter(null)
                .build(), true, true, false);

```

```auto
Error:-

java.lang.ClassCastException: com.sendbird.android.User cannot be cast to com.sendbird.android.Member
at com.sendbird.uikit.activities.adapter.MemberListAdapter.getItem(MemberListAdapter.java:75)
at com.sendbird.uikit.activities.adapter.MemberListAdapter.onBindViewHolder(MemberListAdapter.java:54)
at com.sendbird.uikit.activities.adapter.MemberListAdapter.onBindViewHolder(MemberListAdapter.java:26)
at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7065)
at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7107)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6012)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6279)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1627)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1873)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at androidx.drawerlayout.widget.DrawerLayout.onLayout(DrawerLayout.java:1231)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:1225)
at android.view.View.layout(View.java:24475)
at android.view.ViewGroup.layout(ViewGroup.java:7383)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4260)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3695)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2618)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9965)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1010)
at android.view.Choreographer.doCallbacks(Choreographer.java:809)
at android.view.Choreographer.doFrame(Choreographer.java:744)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:995)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8506)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1139)

```

---

<div class="post-metadata">

### Author: ![manishahire](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/manishahire/32/1668_2.png) [@manishahire](https://community.sendbird.com/u/manishahire)
#### Post date: [January 10, 2022, 10:26am UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690/6 "2022-01-10T10:26:57Z")

</div>

hi @LeoShin is there any way to call operators list query in CustomOperatorListFragment and set to UiKit OperatorListFragment UserTypeListAdapter.

---

<div class="post-metadata">

### Author: ![LeoShin](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/leoshin/32/397_2.png) [@LeoShin](https://community.sendbird.com/u/LeoShin)
#### Post date: [January 10, 2022, 12:06pm UTC](https://community.sendbird.com/t/java-lang-classcastexception-com-sendbird-android-user-cannot-be-cast-to-com-sendbird-android-member/3690/7 "2022-01-10T12:06:30Z")

</div>

You called the OperaterListFragment, but I don’t understand why the MemberListAdapter was used. If you look at your code, the setUserListAdapter is set to NULL when using CustomOperatorListFragment. Aren’t you using RecyclerView’s adapter as the MemberListAdapter separately inside the CustomOperatorListFragment by any chance?

`is there any way to call operators list query in CustomOperatorListFragment and set to UiKit OperatorListFragment UserTypeListAdapter.`

→ **If CustomOperatorListFragment inherits OperatorListFragment and the onConfigure function of OperatorListFragment is called normally, OperatorListQuery and UserTypeListAdapter will be used automatically in your CustomOperatorListFragment.**
