我有一个带有列表视图的主要活动,一个flutter: The following assertion was thrown building _SearchPage<dynamic>(dirty, dependencies:
flutter: [_LocalizationsScope-[GlobalKey#a02e3], _InheritedTheme], state: _SearchPageState<dynamic>#eceaa):
flutter: 'package:flutter/src/widgets/basic.dart': Failed assertion: line 6173 pos 15: 'child != null': is
事件与该列表视图相关联,当我触摸某个元素时,我启动了一个onItemClickListener()
来完成一些工作。我想在异步任务执行期间禁用用户可以对列表的其他元素进行的其他触摸,并在异步任务结束时重新启用它们。
我该怎么办?
这是我的活动
AsyncTask
答案 0 :(得分:0)
您可以在 onItemClickListener 中写这样的内容:
Name
然后在您的 onPostExecute 方法中编写:
newList.setEnabled(false);
答案 1 :(得分:0)
尝试一下:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (asyncTask == null || asyncTask.getStatus() == AsyncTask.Status.FINISHED) {
asyncTask = new MyAsyncTask(this);
asyncTask.execute();
}
}
请谨慎使用onBackPressed
,否则您可能会在null
对象上调用函数。
@Override
public void onBackPressed() {
if (asyncTask != null) {
asyncTask.cancel(true);
}
super.onBackPressed();
}