Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MessageActivity extends ListActivity {
- /** Called when the activity is first created. */
- ArrayList<Message> messages;
- AwesomeAdapter adapter;
- EditText text;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- text = (EditText) this.findViewById(R.id.text);
- this.setTitle("Harish");
- messages = new ArrayList<Message>();
- adapter = new AwesomeAdapter(this, messages);
- setListAdapter(adapter);
- }
- public void sendMessage(View v)
- {
- String newMessage = text.getText().toString().trim();
- //String msg="nTesting";
- if(newMessage.length() > 0)
- {
- text.setText("");
- //addNewMessage(new Message(newMessage+msg, true));
- addNewMessage(new Message(newMessage, true));
- }
- }
- public void sendMessage2(View v)
- {
- String newMessage = text.getText().toString().trim();
- if(newMessage.length() > 0)
- {
- text.setText("");
- addNewMessage(new Message(newMessage, false));
- }
- }
- void addNewMessage(Message m)
- {
- messages.add(m);
- adapter.notifyDataSetChanged();
- getListView().setSelection(messages.size()-1);
- }
- public class AwesomeAdapter extends BaseAdapter{
- private Context mContext;
- private ArrayList<Message> mMessages;
- public AwesomeAdapter(Context context, ArrayList<Message> messages) {
- super();
- this.mContext = context;
- this.mMessages = messages;
- }
- @Override
- public int getCount() {
- return mMessages.size();
- }
- @Override
- public Object getItem(int position) {
- return mMessages.get(position);
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- Message message = (Message) this.getItem(position);
- ViewHolder holder;
- if(convertView == null)
- {
- holder = new ViewHolder();
- convertView = LayoutInflater.from(mContext).inflate(R.layout.sms_row, parent, false);
- holder.message = (TextView) convertView.findViewById(R.id.message_text);
- convertView.setTag(holder);
- }
- else
- holder = (ViewHolder) convertView.getTag();
- holder.message.setText(message.getMessage());
- LayoutParams lp = (LayoutParams) holder.message.getLayoutParams();
- if(message.isMine())
- {
- holder.message.setBackgroundResource(R.drawable.me);
- lp.setMargins(15, 10, 0, 10);
- }
- else
- {
- holder.message.setBackgroundResource(R.drawable.you);
- lp.setMargins(0, 10, 15, 10);
- }
- holder.message.setLayoutParams(lp);
- return convertView;
- }
- private static class ViewHolder
- {
- TextView message;
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return 0;
- }
- public class Message {
- String message;
- boolean isMine;
- public Message(String message, boolean isMine) {
- super();
- this.message = message;
- this.isMine = isMine;
- }
- /**
- * Constructor to make a status Message object
- * consider the parameters are swaped from default Message constructor,
- * not a good approach but have to go with it.
- */
- public Message(boolean status, String message) {
- super();
- this.message = message;
- this.isMine = false;
- }
- public String getMessage() {
- return message;
- }
- public boolean isMine() {
- return isMine;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement