Commit a076cb9c by 霍志良

feat:im-灵犀2.0-多选UI完成

parent ec5de0fb
......@@ -3,7 +3,11 @@ package com.yidianling.im.session.extension;
import com.alibaba.fastjson.JSONObject;
public class CustomAttachLingxiWhichQuestion extends CustomAttachment {
private final String KEY_STATUS="status";
private final String TYPE="type";
private String type;//消息类型
private String maxItemSize;
public CustomAttachLingxiWhichQuestion() {
......@@ -11,11 +15,12 @@ public class CustomAttachLingxiWhichQuestion extends CustomAttachment {
}
@Override
protected void parseData(JSONObject data) {
this.type=data.getString(TYPE);
}
@Override
protected JSONObject packData() {
protected JSONObject packData()
{
return null;
}
}
package com.yidianling.im.session.extension;
import com.alibaba.fastjson.JSONObject;
public class CustomAttachSimpleDescUQuestion extends CustomAttachment{
CustomAttachSimpleDescUQuestion(int type) {
super(CustomAttachmentType.TYPE_LINGXI_SIMPLY_UQUESTION);
}
@Override
protected void parseData(JSONObject data) {
}
@Override
protected JSONObject packData() {
return null;
}
}
......@@ -45,5 +45,7 @@ public interface CustomAttachmentType {
//灵犀2.0问诊数据
int TYPE_LINGXI_WHICH_QUESTION=50;//您想要咨询哪类问题
int TYPE_LINGXI_SIMPLY_UQUESTION=51;//请简单描述您的问题
}
......@@ -6,7 +6,10 @@ import androidx.recyclerview.widget.RecyclerView;
import com.yidianling.common.tools.ToastUtil;
import com.yidianling.im.R;
import com.yidianling.im.session.extension.CustomAttachLingxiWhichQuestion;
import com.yidianling.im.session.extension.CustomAttachmentOrderStatus;
import com.yidianling.im.session.viewholder.adapter.AdapterLingxiWhichQuestion;
import com.yidianling.im.session.viewholder.bean.LingxiWhichQuestionBean;
import com.yidianling.nimbase.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.yidianling.uikit.business.session.viewholder.MsgViewHolderBase;
......@@ -17,15 +20,28 @@ import java.util.ArrayList;
public class MsgViewHolderLingxiWhichQuestion extends MsgViewHolderBase implements AdapterLingxiWhichQuestion.OnQuestionlItemClickListener {
private RecyclerView recycleviewWhichQuestion;
private AdapterLingxiWhichQuestion adapterLingxiWhichQuestion;
ArrayList<String> questionList=new ArrayList<String>();
ArrayList<String> questionList = new ArrayList<String>();
Integer maxItemSize = 6;
Boolean isSingleChoice=true;
public MsgViewHolderLingxiWhichQuestion(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter);
}
@Override
protected int getContentResId() {
return R.layout.im_nim_lingxi_which_question;
CustomAttachLingxiWhichQuestion customAttachLingxiWhichQuestion = ((CustomAttachLingxiWhichQuestion) message.getAttachment());
switch (customAttachLingxiWhichQuestion.getType()){
case 1://您想要咨询下列哪类的问题?(单选)
return R.layout.im_nim_lingxi_which_question;
case 2://请问是发生了什么事情导致的呢?(多选)
return R.layout.im_nim_lingxi_multiple_choice;
case 3:
return R.layout.im_nim_lingxi_which_question;
case 4:
return R.layout.im_nim_lingxi_which_question;
default:
return R.layout.im_nim_lingxi_which_question;
}
}
@Override
......@@ -44,8 +60,11 @@ public class MsgViewHolderLingxiWhichQuestion extends MsgViewHolderBase implemen
questionList.add("aaa");
adapterLingxiWhichQuestion = new AdapterLingxiWhichQuestion();
adapterLingxiWhichQuestion.setTagData( questionList);
GridLayoutManager gridLayoutManager = new GridLayoutManager(context,2);
adapterLingxiWhichQuestion.setTagData(questionList);
GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 2);
//当list中字段大于6个显示单行,否则显示双行
gridLayoutManager.setSpanCount(maxItemSize > 6 ? 1 : 2);
gridLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recycleviewWhichQuestion.setLayoutManager(gridLayoutManager);
recycleviewWhichQuestion.setAdapter(adapterLingxiWhichQuestion);
......@@ -53,7 +72,7 @@ public class MsgViewHolderLingxiWhichQuestion extends MsgViewHolderBase implemen
@Override
public void onItemClick(@NotNull LingxiWhichQuestionBean string, int position) {
ToastUtil.toastShort("点击了"+position);
ToastUtil.toastShort("点击了" + position);
//todo发送消息
}
}
......@@ -5,9 +5,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.ydl.ydl_image.module.GlideApp
import com.yidianling.im.R
import com.yidianling.im.session.viewholder.LingxiWhichQuestionBean
import com.yidianling.im.session.viewholder.bean.LingxiWhichQuestionBean
/**
* @author huozhiliang
......@@ -42,7 +41,12 @@ class AdapterLingxiWhichQuestion : RecyclerView.Adapter<AdapterLingxiWhichQuesti
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
// holder.tv_which_question.setText("")
holder.tv_which_question.setOnClickListener {
onItemClickListener?.onItemClick(LingxiWhichQuestionBean(true,"aa","aaa"),position)
onItemClickListener?.onItemClick(
LingxiWhichQuestionBean(
true,
"aa",
"aaa"
),position)
}
}
fun setTagData(data: List<String>) {
......@@ -50,6 +54,6 @@ class AdapterLingxiWhichQuestion : RecyclerView.Adapter<AdapterLingxiWhichQuesti
notifyDataSetChanged()
}
interface OnQuestionlItemClickListener {
fun onItemClick(string: LingxiWhichQuestionBean,position: Int)
fun onItemClick(string: LingxiWhichQuestionBean, position: Int)
}
}
\ No newline at end of file
package com.yidianling.im.session.viewholder
package com.yidianling.im.session.viewholder.bean
data class LingxiWhichQuestionBean (
var isSelected:Boolean,
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#1da1f2" />
<corners
android:radius="@dimen/platform_dp_18"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ebebeb" />
<corners
android:radius="@dimen/platform_dp_18"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/im_custom_message_round_white_6dp_bg"
android:paddingLeft="@dimen/platform_dp_12"
android:paddingRight="@dimen/platform_dp_3"
>
<TextView
android:layout_width="239dp"
android:layout_height="wrap_content"
android:id="@+id/multiple_choice_title"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
tools:text="请问是发生了什么事情导致的呢?(多选)?"
android:textSize="@dimen/im_text_size_17"
android:textColor="@color/im_color_242424"
>
</TextView>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/multiple_question_rv"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/multiple_choice_title"
app:layout_constraintStart_toStartOf="@id/multiple_choice_title"
tools:itemCount="6"
app:spanCount="2"
tools:listitem="@layout/im_lingxi_which_question_item"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
/>
<TextView
android:id="@+id/confirm_multiple_choice"
android:layout_width="110dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/multiple_question_rv"
android:text="确定(2)"
android:layout_marginTop="@dimen/platform_dp_24"
android:textSize="@dimen/im_text_size_15"
app:layout_constraintEnd_toEndOf="@id/multiple_question_rv"
android:layout_marginEnd="@dimen/platform_dp_12"
android:background="@drawable/im_background_18dp_ebebeb"
android:paddingTop="@dimen/platform_dp_8"
android:paddingBottom="@dimen/platform_dp_8"
android:gravity="center"
android:layout_marginBottom="@dimen/platform_dp_20"
app:layout_constraintBottom_toBottomOf="parent"
>
</TextView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment