Я использовал ListView
к динамическому добавляют объект, но существует проблема о не Гладкая, добавляют. существует textView и кнопка в моем listActivity, Iwant к кнопке Press, затем TextView
текст может автоматический добавлять к ListView
, но я кнопка Pressed, оно работа donot, если после того, как я введу содержание, не нажимаю Клавишу "OK", затем кнопку Pressed, TextView's
текст может автоматический добавлять к ListView
. Я donot знаю почему. Если я непрерывная кнопка Pressed, как 3 раза, то нажимаю клавишу "Ok", содержание
автоматический добавляют список
Представление, но 3 раза.
public class DynamicListItems extends ListActivity {
private static final String ITEM_KEY = "key";
ArrayList<HashMap<String, String>> list= new ArrayList<HashMap<String, String>>();
private SimpleAdapter adapter;
private EditText newValue;@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dynamic_list);
newValue = (EditText) findViewById(R.id.new_value_field);
setListAdapter(new SimpleAdapter(this, list, R.layout.row, new String[] { ITEM_KEY }, new int[] { R.id.list_value }));
((ImageButton) findViewById(R.id.button)).setOnClickListener(getBtnClickListener());
}
private OnClickListener getBtnClickListener() {
return new OnClickListener() {
public void onClick(View view) {
try {
HashMap<String, String> item = new HashMap<String, String>();
item.put(ITEM_KEY, newValue.getText().toString());
list.add(item);
adapter.notifyDataSetChanged();
} catch (NullPointerException e) {
Log.i("[Dynamic Items]", "Tried to add null value");
}
}
};
}}
Как к динамическому удаляют объект?
TextView
Является ли ваш метод getBtnClickListener
частью класса ListActivity
или ArrayAdapter
?
Для меня, когда я обновляю из класса ListActivity
, я использую этот код...
// code to add a Contact to my database
// code to add a Contact to the list that
// that is used by the ListView
setListAdapter(adapter);
getListView().setTextFilterEnabled(true);
Когда я обновляюсь из метода, находящегося внутри класса ArrayAdapter
, я использую данный код...
// from a LongPress on a ListView item
convertView.setOnLongClickListener(new OnLongClickListener(){
@Override
public boolean onLongClick(View view) {
view.performHapticFeedback(0, View.HAPTIC_FEEDBACK_ENABLED);
// code to remove a Contact name from my database
// code to remove that Contact name from my list
// that is used by the ListView
ContactsAdapter.this.notifyDataSetChanged();
return true;
});