Android : CustomAdapter Overwrites Items in ListView - Android

on Sunday, July 6, 2014


This code works, but every time the button is clicked, it overwrites the items in List View instead of adding the items to the bottom of the list. Tried a lot but nothing has solved that issue.



public static final class ChatRoom2 extends Activity {

Button addButton;
ListView listView;
EditText editText;
TextView values;
ImageView userimage;
ChatRow adapter;
ChatRow adapter2;
String message;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Intent intent = getIntent();
String sText = intent.getExtras().getString("textFromList");
getActionBar().setTitle(sText);
setContentView(R.layout.chatlayout2);


this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

final int[] images = {R.drawable.image01, R.drawable.image02, R.drawable.image03};


final int imageId = (int)(Math.random() * images.length);
userimage = (ImageView) findViewById(R.id.img);
addButton = (Button) findViewById(R.id.button2);

editText = (EditText) findViewById(R.id.editText);
values = (TextView) findViewById(R.id.txt);

final RowItems weather_data[] = new RowItems[]
{
new RowItems(images[imageId],message)
};

adapter = new ChatRow(this,
R.layout.chatmessage, weather_data);


listView = (ListView) findViewById(R.id.listView);


addButton.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

message = editText.getText().toString();
RowItems messagedata[] = new RowItems[]{ new RowItems(images[imageId],message)
};


adapter2 = new ChatRow(ChatRoom2.this, R.layout.chatmessage, messagedata);
listView.setAdapter(adapter2);


adapter2.notifyDataSetChanged();

editText.setText("");

//minimize keyboard
InputMethodManager imm = (InputMethodManager)getSystemService(Context.
INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

}
});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position,
long id) {


Toast.makeText(ChatRoom2.this, "clicked", Toast.LENGTH_LONG)
.show();




}
});

}


}


Any Ideas?


0 comments:

Post a Comment