Skip to content

Instantly share code, notes, and snippets.

@frankibem
Created March 31, 2016 22:17
Show Gist options
  • Save frankibem/f2020fd5f18665118f8dd3a13a7f8fb2 to your computer and use it in GitHub Desktop.
Save frankibem/f2020fd5f18665118f8dd3a13a7f8fb2 to your computer and use it in GitHub Desktop.
package com.test.groupchatapp;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
/**
* @author Frank Ibem.
*/
public class MessageAdapter extends ArrayAdapter<Message> {
private LayoutInflater inflater;
public MessageAdapter(Context context) {
super(context, -1);
inflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
TextView userName, message;
// If first time, inflate view and set holder
if (view == null) {
view = inflater.inflate(R.layout.message_item, parent, false);
userName = (TextView) view.findViewById(R.id.text_username);
message = (TextView) view.findViewById(R.id.text_message);
MessageViewHolder holder = new MessageViewHolder();
holder.userName = userName;
holder.message = message;
view.setTag(holder);
}
// Get TextViews from holder
else {
MessageViewHolder holder = (MessageViewHolder) view.getTag();
userName = holder.userName;
message = holder.message;
}
// Set username and message
Message mes = getItem(position);
userName.setText(mes.getUserName());
message.setText(mes.getMessage());
return view;
}
class MessageViewHolder {
public TextView userName;
public TextView message;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment