gpt4 book ai didi

Android ListView如何获取空 View 事件

转载 作者:行者123 更新时间:2023-11-29 01:17:00 26 4
gpt4 key购买 nike

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

enter image description here

listView = (ListView) view.findViewById(R.id.ENumberList);
outputWarning = (TextView) view.findViewById(R.id.warning);
listView.setEmptyView(outputWarning);

listView.setAdapter(scAdapter);

listView.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() {
@Override
public void onChildViewAdded(View view, View view1) {

}

@Override
public void onChildViewRemoved(View view, View view1) {
if (scAdapter.isEmpty())
{
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().addToBackStack(null).commit(); //error
}
}
});

但是我遇到了错误:

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 个选项(不优雅但应该有效):

if (emptyView.getVisibility() == View.VISIBLE) {
onBackPressed();
}

但您应该为用户添加延迟以阅读有关无结果的信息。

  1. 检查适配器中的列表大小。

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

关于Android ListView如何获取空 View 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38903581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com