2012-03-25 9 views
0

リストの作業を開始したばかりですが、これは愚かな質問かもしれませんが、どうやって行うのか分かりません。 。私は数字だけを持っている私のリストは1から10の間の長さになるだろうEditTextボックスからユーザーが入力するので、表示ではシンプルです。このリストからアイテムを長時間で削除できるようにしたいアイテム行を押すと、これをどのように達成できますか?Android longclicklistenerを使ってリストから項目を削除する方法

これは私のコードです:

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ボックスです。リスト内の個々のアイテムを削除するにはどうすればよいですか?

ご協力いただきありがとうございます。

答えて

3

ユーザーがリスト内のアイテムを長くクリックしたときにアイテムをリストから削除する場合は、リストビューで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(); 
    } 
)); 
+1

「myAdapter.removeItemAt(pos);」メソッドの実装についてどう思いますか?私は 'myAdapter.remove(object)'のみを選択できます。 – mattboy

+0

最も良い方法は、ArrayList bb.remove(pos)から値を削除し、アダプタのnotifyDataSetChanged() – 207

+0

を呼び出すことです。通常、リストを戻すオブジェクトのリストがあります。リストを呼び出して特定の位置にあるアイテムを削除するメソッドを実装するだけです。 –

関連する問題