2016-09-23 391 views
0

我想在列表視圖中使用EditText和按鈕來添加/刪除項目。Android無法使用自定義佈局刪除列表視圖中的項目

在EditText中鍵入一些文字並點擊按鈕後,這個新項目將被添加到下面。點擊該項目時,它將被刪除。

它正常工作與

final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String> 

(Main.this,android.R.layout.simple_list_item_1,arrayList); 

這裏是編碼。

button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 

     String get_text=editText.getText().toString(); 
     arrayList.add(get_text); 
     final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String>(Main.this,android.R.layout.simple_list_item_1,arrayList); 
     listView.setAdapter(arrayAdapter); 
     editText.setText(""); 

     listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, final int position, long id) { 

       arrayList.remove(position); 
       arrayAdapter.notifyDataSetChanged(); 
      } 
     }); 
    } 
}); 

不過,如果我更改爲自定義佈局爲ListView這是行不通的。當在項目點擊,它不會刪除,也沒有錯誤提示

final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String> 

(Main.this,R.layout.row,R.id.textView,arrayList); 

enter image description here

+0

你的代碼是錯誤的 – anonymous

+0

每當你點擊鏈接,並重置新的適配器的ListView – anonymous

+0

匿名的就是寫,你爲什麼包括布頓的點擊事件裏面listview.setonItemClickListener? –

回答

1

已經在你的代碼所做的改變。嘗試這個。 :)

final ArrayAdapter<String>arrayAdapter=new ArrayAdapter<String>(Main.this,android.R.layout.simple_list_item_1,arrayList); 
listView.setAdapter(arrayAdapter); 

button.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View view) { 
String get_text=editText.getText().toString(); 
arrayList.add(get_text); 
editText.setText(""); 
arrayAdapter.notifyDataSetChanged(); 
    } 
    }); 

listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, final int position, long id) { 

        arrayList.remove(position); 
        arrayAdapter.notifyDataSetChanged(); 
       } 
      }); 
+0

嘿,它不工作。請注意,對於自定義佈局,它是(Main.this,R.layout.row,R.id.textView,arrayList);不(Main.this,android.R.layout.simple_list_item_1,arrayList)。它不適用於自定義佈局 – gosulove

+0

您是否創建了自定義適配器? – anonymous

+0

不...但我想因爲我可以添加項目,我應該能夠刪除它呢? – gosulove

相關問題