android聊天程序 java_java – 在android中聊天应用程序,以便发送者...

对发件人和收件人邮件使用具有单独布局的自定义适配器.它被称为异构ListView.

像这样的东西

public class MyAdapter extends BaseAdapter {

ArrayList> messages;

int SENDER_MESSAGE = 0;

int RECEIVER_MESSAGE = 1;

Context context;

@Override

public int getCount() {

return messages.size();

}

@Override

public Object getItem(int position) {

return messages.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public int getViewTypeCount() {

return 2;

}

@Override

public int getItemViewType(int position) {

//This is dummy logic

//Write your own logic to differentiate between sender and receiver message

if (position % 2 == 0) {

return SENDER_MESSAGE;

}

else {

return RECEIVER_MESSAGE;

}

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

if (convertView == null) {

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

if (getItemViewType(position) == SENDER_MESSAGE) {

convertView = inflater.inflate(R.layout.sender_message_layout, null);

}

else {

//Received message

convertView = inflater.inflate(R.layout.received_message_layout, null);

}

}

//...set text to message layout here

}

}

有关自定义适配器的更多信息,您可以参考

对于异构ListView(ListView中的不同行布局)教程,您可以参考此内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值