2016-09-23 97 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

相关问题