Android как удалить элементы из списка с помощью longclicklistener - PullRequest
0 голосов
/ 26 марта 2012

Я только начал работать со списками, так что это может быть глупый вопрос, но я не знаю, как это сделать, я проверил много подобных вопросов, но их информация сложна.Мой список, в котором у меня только цифры, будет состоять только из 1-10 элементов, введенных пользователем из поля EditText, поэтому все просто, при отображении я хочу, чтобы пользователь мог долго удалять элементы из этого списка.Нажав на строку элемента, как мне это сделать?

Это мой код:

final ArrayList<Double> individuallist = new ArrayList<Double>();
final ArrayAdapter<Double> bb;
bb = new ArrayAdapter<Double>(this,android.R.layout.simple_list_item_1 ,individuallist);
listView.setAdapter(bb);

   // add button

    Button addbutton = (Button) findViewById(R.id.btnnext);
    addbutton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                           iamount = amountText.getText().toString();
                       it = Double.valueOf(iamount);
            individuallist.add(0, it);
            bb.notifyDataSetChanged();
            item1.setText("");
        }
    });

Вот так я объявляю свой список и добавляю в него элементы: item1 - это поле EditText, гдеЯ получаю сумму пользователя.Как я могу удалить отдельные элементы в моем списке?

Заранее спасибо за помощь.

1 Ответ

3 голосов
/ 26 марта 2012

, если вы хотите, чтобы элемент был удален из списка, когда пользователь долго нажимает на элемент в списке, вызовите setOnItemLongClickListener () в вашем списке.

из вашей реализации OnItemLongClickListener, вы получите позицию. затем вы можете обновить ListAdapter. это может выглядеть примерно так:

listView.setOnItemLongClickListener(new OnItemLongClickListener() {
  @Override
  public void onItemLongClick((AdapterView<?> parent, View view, int position, long id) {
    MyAdapter adapter = (MyAdapter)listView.getAdapter();
    myAdapter.removeItemAt(pos); // you need to implement this method
    myAdapter.notifyDataSetChanged();
  }
)); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...