所以我在从我的对象列表中填充它时在 ListView 项目上应用删除线时遇到了这个巨大的问题。
private void setListItems() {
DatabaseHandler db = new DatabaseHandler(this);
List<ToDoTask> taskList = db.getAllTasks();
for (ToDoTask tt : taskList) {
this.listAdapter.add(tt.getName());
}
this.listAdapter.notifyDataSetChanged();
}
这部分代码填充了我的 ListView。现在我想在项目中添加删除线,如果
tt.getActive() == 0
我不知道如何从我的 ListView 中获取 TextView 项目。我在我的 for 循环中尝试:
TextView textView = (TextView) this.listView.getChildAt(this.listView.getCount() -1);
但应用程序崩溃。唯一没有让我的应用崩溃的解决方案是:
TextView textView = this.listAdapter.getView(this.listView.getCount() -1, null, null)
但它实际上并没有改变 ListView 中的任何内容。我认为它没有引用对象本身。这是一些实例化我的变量的代码:
this.listView = (ListView) findViewById(R.id.listViewItem);
this.listItems = new ArrayList<String>();
this.listAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, this.listItems);
this.listView.setAdapter(this.listAdapter);