Back to project page android-messaging-push-tutorial.
The source code is released under:
MIT License
If you think the Android project android-messaging-push-tutorial listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.sinch.messagingtutorial.app; /*from w w w . j a v a 2 s . c om*/ import android.app.Activity; import android.util.Pair; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.sinch.android.rtc.messaging.WritableMessage; import java.util.ArrayList; import java.util.List; public class MessageAdapter extends BaseAdapter { public static final int DIRECTION_INCOMING = 0; public static final int DIRECTION_OUTGOING = 1; private List<Pair<WritableMessage, Integer>> messages; private LayoutInflater layoutInflater; public MessageAdapter(Activity activity) { layoutInflater = activity.getLayoutInflater(); messages = new ArrayList<Pair<WritableMessage, Integer>>(); } public void addMessage(WritableMessage message, int direction) { messages.add(new Pair(message, direction)); notifyDataSetChanged(); } @Override public int getCount() { return messages.size(); } @Override public Object getItem(int i) { return messages.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int i) { return messages.get(i).second; } @Override public View getView(int i, View convertView, ViewGroup viewGroup) { int direction = getItemViewType(i); //show message on left or right, depending on if //it's incoming or outgoing if (convertView == null) { int res = 0; if (direction == DIRECTION_INCOMING) { res = R.layout.message_right; } else if (direction == DIRECTION_OUTGOING) { res = R.layout.message_left; } convertView = layoutInflater.inflate(res, viewGroup, false); } WritableMessage message = messages.get(i).first; TextView txtMessage = (TextView) convertView.findViewById(R.id.txtMessage); txtMessage.setText(message.getTextBody()); return convertView; } }