【问题标题】:Start a Messaging Activity in Mesibo在 Mesibo 中启动消息活动
【发布时间】:2020-08-19 16:01:36
【问题描述】:

我正在尝试在两个片段中自定义 Mesibo UI。在第一个选项卡中,它将显示所有聊天,在第二个选项卡中显示所有联系人。这里我想自己传递联系人列表。

我的第一个问题是如何将用户名作为列表传递以使用 MesiboUserListFragment 显示联系人

第二个问题是如何实现 On User 单击侦听器,它将启动 Messaging 活动,我可以在其中自定义每个消息布局。

我尝试了以下方法,但它不起作用。

实现 MesiboUserListFragment.FragmentListener 的 Activity

    @Override
    public boolean Mesibo_onClickUser(String s, long l, long l1) {

    Intent peerMessageIntent = new Intent(MessagingActivity.this,PeerMessageActivity.class);
    peerMessageIntent.putExtra("s", s);
    peerMessageIntent.putExtra("l", l);
    peerMessageIntent.putExtra("l1", l1);
    startActivity(peerMessageIntent);


    return true;
}

PeerMessaging 活动

public class PeerMessageActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_peer_message);

    Intent intent = getIntent();
    String s = intent.getStringExtra("s");
    long l = intent.getLongExtra("l", 0);
    long l1 = intent.getLongExtra("l1", 0);

    MesiboMessagingFragment mFragment = new MessagingUIFragment();
    

    Bundle bl = new Bundle();
    bl.putString(MesiboUI.PEER, s);
    bl.putLong(MesiboUI.GROUP_ID, l);
    mFragment.setArguments(bl);

    Log.v("Starting the Transation", "Hereeeeeeeeeeee");

    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.beginTransaction().replace(R.id.fragment_container, mFragment).commit();

}

}

MessagingUI 片段

public class MessagingUIFragment extends MesiboMessagingFragment implements MesiboRecycleViewHolder.Listener {

@Override
public int Mesibo_onGetItemViewType(Mesibo.MessageParams messageParams, String message) {

    return MesiboRecycleViewHolder.TYPE_NONE;
}

@Override
public MesiboRecycleViewHolder Mesibo_onCreateViewHolder(ViewGroup viewGroup, int viewType) {
    return null;
}

@Override
public void Mesibo_onBindViewHolder(MesiboRecycleViewHolder mesiboRecycleViewHolder, int viewType, boolean selected, Mesibo.MessageParams messageParams, Mesibo.MesiboMessage mesiboMessage) {

}

@Override
public void Mesibo_oUpdateViewHolder(MesiboRecycleViewHolder mesiboRecycleViewHolder, Mesibo.MesiboMessage mesiboMessage) {

}


@Override
public void Mesibo_onViewRecycled(MesiboRecycleViewHolder mesiboRecycleViewHolder) {

}

}

activity_peer_message.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".PeerMessageActivity">

    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" />

</LinearLayout> 

【问题讨论】:

    标签: android android-fragments mesibo


    【解决方案1】:

    您是否阅读了此处的 UI 自定义部分,它包含您所要求的一切

    https://mesibo.com/documentation/ui-modules/

    https://mesibo.com/documentation/ui-modules/android/messaging/

    mesibo 用户列表片段有多种模式,消息列表是默认的,然后你可以为不同的功能传递模式,参考源代码在这里。

    参考源代码,https://github.com/mesibo/ui-modules-android/blob/master/Messaging/messaging/src/main/java/com/mesibo/messaging/UserListFragment.java#L239

    从这里的源代码可以看出,有 MODE_SELECTCONTACT 可以传进去试试看。

    【讨论】:

    • 感谢您的回复。我已经浏览了文档,但无法做到。 1. 如何在 MODE_SELECTCONTACT 中传递用户配置文件列表以显示用户配置文件列表。 2. 当我点击消息列表片段 (MODE_MESSAGELIST) 中的任何用户时,它会在“com.mesibo.messaging.MessagingActivity”类中给出空指针异常错误。
    • 您应该使用 userprofile API 添加联系人。参考mesibo.com/documentation/api/real-time-api/profiles另外,参考上面源代码链接中的第895行。
    • 您好,我在这里问了另一个问题,请您帮忙。 stackoverflow.com/questions/63698898/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 2021-10-13
    相关资源
    最近更新 更多