gpt4 book ai didi

java - 在主 Activity 中覆盖 fragment 时输入无法按预期工作

转载 作者:行者123 更新时间:2023-11-30 02:26:26 25 4
gpt4 key购买 nike

所以我使用这段代码在我所有的 View 上覆盖了一个 fragment 。

statusList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Fragment fragment = new DetailedInformerFragment();

FragmentManager fm = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.add(android.R.id.content,fragment);
transaction.commit();
}
});

fragment 被覆盖,但当我开始触摸屏幕时,它会穿过 fragment 。例如,主 Activity 中有一个文本框。当我将 fragment 覆盖在主要 Activity 上时,我触摸了文本框所在的位置,即使我没有看到它并且我不应该看到它,键盘也会弹出。

我的问题是如何防止用户输入其他 View ,除了 fragment 是用户唯一可以看到的内容。

最佳答案

而不是使用,

transaction.add(android.R.id.content, fragment);

尝试使用,

transaction.replace(android.R.id.content, fragment);

因为您在其他内容之上添加了一个 fragment ,所以它们基本上都在那里,这就是您的界面变得困惑的原因。通过使用替换,您可以用新 fragment 替换任何现有 fragment ,这样它们就不会同时存在于界面上。

FrameLayout 可能是 fragment 容器的最佳实践,因为 FrameLayout 将只允许单个子元素,从而强制执行不允许多个 fragment 的行为/布局到相同的 UI 空间。

进一步阅读:

关于java - 在主 Activity 中覆盖 fragment 时输入无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27875040/

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