Android ListView如何获取空视图事件

Android ListView如何获取空视图事件,android,listview,events,Android,Listview,Events,我面临一个问题。 当用户在ListView中获得emptyView时,我需要实现返回行为。 但是我不知道怎么做 但我有一个错误: 08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers E/com.ashomok.eNumbers.activities.MainFragment: Can not perform this action inside of onLoadFinished 08-11 21:05:00.401 9289-9289/com.

我面临一个问题。 当用户在ListView中获得emptyView时,我需要实现返回行为。 但是我不知道怎么做

但我有一个错误:

08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers E/com.ashomok.eNumbers.activities.MainFragment: Can not perform this action inside of onLoadFinished
08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err: java.lang.IllegalStateException: Can not perform this action inside of onLoadFinished
08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1415)
08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1429)
08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.BackStackRecord.commitInternal(BackStackRecord.java:687)
08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.BackStackRecord.commit(BackStackRecord.java:663)
08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at com.ashomok.eNumbers.activities.MainFragment$2.onChildViewRemoved(MainFragment.java:153)
无论如何,我的解决方案看起来很难看。你能给我一个更好的主意吗?

1选项(不是elegent,但应该有效):

但您应该增加延迟,以便用户读取关于无结果的信息

  • 检查适配器中的列表大小

    如果搜索后没有结果,则onBackPressed()


  • 自动返回可能会混淆用户。“取消”按钮应清除搜索结果。这仍然是一个奇怪的例外,如果没有应用程序架构,很难说原因。
    08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers E/com.ashomok.eNumbers.activities.MainFragment: Can not perform this action inside of onLoadFinished
    08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err: java.lang.IllegalStateException: Can not perform this action inside of onLoadFinished
    08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1415)
    08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1429)
    08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.BackStackRecord.commitInternal(BackStackRecord.java:687)
    08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at android.app.BackStackRecord.commit(BackStackRecord.java:663)
    08-11 21:05:00.401 9289-9289/com.ashomok.eNumbers W/System.err:     at com.ashomok.eNumbers.activities.MainFragment$2.onChildViewRemoved(MainFragment.java:153)
    
    if (emptyView.getVisibility() == View.VISIBLE) {
       onBackPressed();
    }