Java 如何在聊天适配器中标记特定的聊天气泡
我有一个群聊,我想标记一条特定的消息(当Java 如何在聊天适配器中标记特定的聊天气泡,java,android,chat,android-arrayadapter,adapter,Java,Android,Chat,Android Arrayadapter,Adapter,我有一个群聊,我想标记一条特定的消息(当isProducer为true时发送的消息)。问题是它将所有消息标记在一起。。。 这是我的适配器代码: if(customer_id.equals(message.getUserId())) isMe = true; if(message.getUserId().equals(producer_id)) isProducer = true; if (isMe) {
isProducer
为true
时发送的消息)。问题是它将所有消息标记在一起。。。
这是我的适配器代码:
if(customer_id.equals(message.getUserId()))
isMe = true;
if(message.getUserId().equals(producer_id))
isProducer = true;
if (isMe) {
holder.imageRight.setVisibility(View.VISIBLE);
holder.imageLeft.setVisibility(View.GONE);
holder.body.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT);
} else {
holder.imageLeft.setVisibility(View.VISIBLE);
holder.imageRight.setVisibility(View.GONE);
holder.body.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
}
holder.body.setText(message.getBody());
if (isProducer) {
holder.body.setTypeface(null, Typeface.BOLD);
}
Thnx
}
您可以使用R.drawable.leftimg和R.drawable.rightimg应该是ninepatch image试试这个
isMe = customer_id.equals(message.getUserId());
isProducer = message.getUserId().equals(producer_id);
if (isMe) {
holder.imageRight.setVisibility(View.VISIBLE);
holder.imageLeft.setVisibility(View.GONE);
holder.body.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT);
} else {
holder.imageLeft.setVisibility(View.VISIBLE);
holder.imageRight.setVisibility(View.GONE);
holder.body.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
}
holder.body.setText(message.getBody());
if (isProducer) {
holder.body.setTypeface(null, Typeface.BOLD);
} else {
holder.body.setTypeface(null, Typeface.NORMAL); // Or anything else
}
将else
添加到if(isProducer)
并将默认字体设置为否定,抱歉,它不起作用。。。
isMe = customer_id.equals(message.getUserId());
isProducer = message.getUserId().equals(producer_id);
if (isMe) {
holder.imageRight.setVisibility(View.VISIBLE);
holder.imageLeft.setVisibility(View.GONE);
holder.body.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT);
} else {
holder.imageLeft.setVisibility(View.VISIBLE);
holder.imageRight.setVisibility(View.GONE);
holder.body.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
}
holder.body.setText(message.getBody());
if (isProducer) {
holder.body.setTypeface(null, Typeface.BOLD);
} else {
holder.body.setTypeface(null, Typeface.NORMAL); // Or anything else
}