android - ListView onClick更新清除列表

标签 android listview android-listview onclick onitemclicklistener

我有以下代码应该删除被点击的项目:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
    String itemValue = (String) listView.getItemAtPosition(position);
    email_addresses.remove(position);

    String size = Integer.toString(email_addresses.size());
    Log.d("Size: ", size);

    //listView = (ListView) findViewById(R.id.email_list);
    //ArrayAdapter<String> adapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, email_addresses);
    //listView.setAdapter(adapter);
    ArrayAdapter<String> adapter = new ArrayAdapter<>(mainAppContext, android.R.layout.simple_list_item_1, android.R.id.text1, email_addresses);
    ((ListView)parent).setAdapter(adapter);
    parent.refreshDrawableState();
}

当我点击一个项目时,列表被清除并且没有任何显示。大小是正确的值,列表可以重建,但我无法让这段代码工作。 谢谢

最佳答案

与其每次都创建一个全新的 Adapter,你有没有想过简单地让你的 Adapter 成为一个成员变量并调用 notifyDataSetChanged

ArrayAdapter<String> adapter = new ArrayAdapter<>(mainAppContext, android.R.layout.simple_list_item_1, android.R.id.text1, email_addresses);
((ListView)parent).setAdapter(adapter);

变成:

mAdapter.notifyDataSetChanged();

关于android - ListView onClick更新清除列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29517789/

相关文章:

java - 是否允许在 Android 公开版本上进行任何登录?

android - 从服务器获取数据时 Android 中的 Listview

java - 本例如何实现onchildclick监听?

android - 使用 SimpleCursorAdapter 出错

android - 我应该单独使用 notifyDataSetChanged 还是更新 ListView 项目?

android - 如何使用 Twitter 套件在 Android 中获取个人资料图片,

android - 我的 Android 应用出现 "Trouble Processing"错误

android - 带标签的 ActionBarSherlock

android - 如何在其 onClick 上更改自定义适配器中的按钮背景?

android - 具有 ViewHolder 模式的 ListView 中的远程图像