This commit is contained in:
2023-10-09 18:31:17 +08:00
parent 05d4f84844
commit 1950da12e6
34 changed files with 1430 additions and 136 deletions

View File

@@ -4,23 +4,38 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.makeramen.roundedimageview.RoundedImageView;
import com.shayu.onetoone.R;
import com.shayu.onetoone.bean.HomeItemBean;
public class HomeHotListAdapter extends RecyclerView.Adapter<HomeHotListAdapter.ViewHolder>{
private Context mContext;
import java.util.ArrayList;
import java.util.List;
public class HomeHotListAdapter extends RecyclerView.Adapter<HomeHotListAdapter.ViewHolder> {
private Context mContext;
private List<HomeItemBean> list;
public HomeHotListAdapter(Context mContext) {
this.mContext = mContext;
list = new ArrayList<>();
}
public void setList(List<HomeItemBean> list) {
this.list = list;
notifyDataSetChanged();
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_home_hot,parent,false));
return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_home_hot, parent, false));
}
@Override
@@ -30,14 +45,31 @@ public class HomeHotListAdapter extends RecyclerView.Adapter<HomeHotListAdapter.
@Override
public int getItemCount() {
return 10;
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public class ViewHolder extends RecyclerView.ViewHolder {
private RoundedImageView cover;
private ImageView status;
private ImageView chat;
private TextView userName;
private ImageView sex;
private TextView age;
private ImageView levelIcon;
private TextView level;
public ViewHolder(@NonNull View itemView) {
super(itemView);
level=itemView.findViewById(R.id.level);
levelIcon=itemView.findViewById(R.id.ic_level);
age=itemView.findViewById(R.id.age);
sex=itemView.findViewById(R.id.sex);
chat=itemView.findViewById(R.id.btn_chat);
userName=itemView.findViewById(R.id.user_name);
cover=itemView.findViewById(R.id.cover);
status=itemView.findViewById(R.id.status);
}
private void setData(HomeItemBean bean,int position){
}
}
}

View File

@@ -4,40 +4,106 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.makeramen.roundedimageview.RoundedImageView;
import com.shayu.onetoone.R;
import com.shayu.onetoone.bean.HomeItemBean;
import com.shayu.onetoone.utils.ConversationUtils;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.WordUtil;
public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommendListAdapter.ViewHolder>{
private Context mContext;
import java.util.ArrayList;
import java.util.List;
public class HomeRecommendListAdapter extends RecyclerView.Adapter<HomeRecommendListAdapter.ViewHolder> {
private Context mContext;
private List<HomeItemBean> list;
public HomeRecommendListAdapter(Context mContext) {
this.mContext = mContext;
list = new ArrayList<>();
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_home_recommend,parent,false));
return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_home_recommend, parent, false));
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.setData(list.get(position), position);
}
@Override
public int getItemCount() {
return 10;
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public void setList(List<HomeItemBean> data) {
this.list = data;
notifyDataSetChanged();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private RoundedImageView avatar;
private ImageView chat;
private TextView userName;
private ImageView sex;
private TextView star;
private TextView sign;
private LinearLayout tagLayout;
public ViewHolder(@NonNull View itemView) {
super(itemView);
star = itemView.findViewById(R.id.star_up);
sex = itemView.findViewById(R.id.sex);
chat = itemView.findViewById(R.id.btn_chat_up);
userName = itemView.findViewById(R.id.user_name);
avatar = itemView.findViewById(R.id.avatar);
tagLayout = itemView.findViewById(R.id.user_tag_layout);
sign = itemView.findViewById(R.id.user_sign);
}
private void setData(HomeItemBean bean, int position) {
star.setText(bean.getStar() + "·" + bean.getStar_name());
sign.setText(bean.getSignature());
userName.setText(bean.getUser_nicename());
if (WordUtil.isNewZh()) {
addTag(bean.getCn_label());
} else {
addTag(bean.getEn_label());
}
if (bean.getSex() == 1) {
sex.setImageResource(R.mipmap.ic_message_tab_man);
} else {
sex.setImageResource(R.mipmap.ic_message_tab_woman);
}
ImgLoader.display(mContext, bean.getAvatar(), avatar);
chat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ConversationUtils.startConversation(mContext, bean.getId() + "");
}
});
}
private void addTag(List<String> tags) {
for (String tag : tags) {
if (StringUtil.isEmpty(tag)) {
continue;
}
TextView tagView = (TextView) LayoutInflater.from(mContext).inflate(R.layout.item_home_recommend_tag, (ViewGroup) itemView.getRootView(), false);
tagView.setText(tag);
tagLayout.addView(tagView);
}
}
}
}

View File

@@ -26,7 +26,7 @@ import io.rong.imlib.model.Conversation;
*/
public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
List<BaseUiConversation> conversationList = null;
Map<Integer,BaseUiConversation> map = new HashMap<>();
Map<Integer, SingleConversation> map = new HashMap<>();
SwipeRecyclerView mList;
@@ -38,9 +38,9 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
String targetId = getData().get(position).mCore.getTargetId();
try {
int type=Integer.parseInt(targetId);
int type = Integer.parseInt(targetId);
mList.setSwipeItemMenuEnabled(position, type > 100);
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
super.onBindViewHolder(holder, position);
@@ -52,6 +52,14 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
List<BaseUiConversation> top = new ArrayList<>();
List<BaseUiConversation> data2 = new ArrayList<>();
for (BaseUiConversation datum : data) {
try {
int parseInt = Integer.parseInt(datum.mCore.getTargetId());
if (parseInt < 100) {
continue;
}
} catch (Exception e) {
e.printStackTrace();
}
if (datum.mCore.getConversationType() == Conversation.ConversationType.PRIVATE || datum.mCore.getConversationType() == Conversation.ConversationType.SYSTEM) {
if (datum.mCore.isTop()) {
top.add(datum);
@@ -62,7 +70,7 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
}
List<BaseUiConversation> list = new ArrayList<>(top);
data2.addAll(map.values());
Collections.sort(data2,new ListComparator());
Collections.sort(data2, new ListComparator());
list.addAll(data2);
super.setDataCollection(list);
@@ -70,21 +78,25 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter {
public void add(SingleConversation item, int position) {
map.put(position,item);
map.put(position, item);
}
public void clearSystemNotification(){
public void clearSystemNotification() {
for (BaseUiConversation conversation : map.values()) {
conversation.mCore.setUnreadMessageCount(0);
}
}
public SingleConversation getSystemItem(int position) {
return map.get(position);
}
private class ListComparator implements Comparator<BaseUiConversation> {
@Override
public int compare(BaseUiConversation baseUiConversation, BaseUiConversation t1) {
System.out.println(" "+t1.mCore.getSentTime()+"|"+baseUiConversation.mCore.getSentTime()+" "+baseUiConversation.mCore.getConversationTitle()+"|"+t1.mCore.getConversationTitle());
return (int) (t1.mCore.getSentTime()-baseUiConversation.mCore.getSentTime());
System.out.println(" " + t1.mCore.getSentTime() + "|" + baseUiConversation.mCore.getSentTime() + " " + baseUiConversation.mCore.getConversationTitle() + "|" + t1.mCore.getConversationTitle());
return (int) (t1.mCore.getSentTime() - baseUiConversation.mCore.getSentTime());
}
}
}