Android删除自定义数组适配器中的 ListView 行

标签 android listview baseadapter

我有一个用于显示详细数据的 ListView 。我将我的数据存储在字符串的 ArrayList 中。然而,有些字段可能没有任何数据要显示,但我需要保持数组长度相同以匹配静态标题数组。我可以在此处的自定义基本适配器中的 getView 方法中捕获空数据:

        public View getView(int position, View convertView, ViewGroup parent) {

        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.drug_detail_cell, parent, false);
        }

        // check array bounds
        if (position < getCount()) {

            // check for null items
            String item = items.get(position);
            if (item != null) {

                // get the text views
                TextView title = (TextView) convertView.findViewById(R.id.item_title);
                TextView sub = (TextView) convertView.findViewById(R.id.item_subtitle);

                title.setText(titles.get(position));
                sub.setText(item.toString());                   
            } else {
                // delete row
            }
        }

        return convertView;
    }

我的问题是虽然数据没有显示,但我的 ListView 中仍然有一个空行。我的问题是如何删除该行?任何帮助将不胜感激。提前致谢。

最佳答案

从 CustomListAdapter 中删除一行:

在调用 notifyDatasetChanged 之后,从指定索引的 ArrayAdapter 中删除项目。它将更新您的 ListView 。

CustomAdapterClass 中:

@Override
public void remove(String object) {
    super.remove(object);

         // your other code
}

ListActivity 类中:

CustomAdapterClass adap = new CustomAdapterClass();

adap.remove("hello world");

adap.notifyDatasetChanged(); // this will update your listView

我的代码是一个基本示例,用于描述如何实现您的目标。

关于Android删除自定义数组适配器中的 ListView 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18291192/

相关文章:

android - 通过 android :widgetLayout 自定义 CheckBoxPreference

android - 自动质量设置

android - 将自定义对象从一个 Activity 传递到另一个 Parcelable vs Bundle

android - GridView 中 ArrayAdapter 的自定义过滤器

Android canvas画线——让线条变粗

android - 如何在android中获取水平Listview位置变量?

java.lang.IllegalStateException : The content of the adapter has changed but ListView did not receive a notification in android Studio

android - 从 Android 的 ListView 中删除项目

android - 如何动态刷新ListView?

android - 如何在 ListView 中使用 Baseadapter?为什么会出现 Null 点异常?