gpt4 book ai didi

java - 不同演示者的相同 fragment

转载 作者:行者123 更新时间:2023-12-02 12:29:14 24 4
gpt4 key购买 nike

我有一个包含 3 个选项卡的 Activity :A、B 和 C。对于每个选项卡,我创建了一个 fragment (-f) 和演示者 (-p)。问题是所有三个 fragment (A-f、B-f、C-f)都是相同的,但演示者却不同。那么问题是如何避免代码重复?我尝试创建一个 BaseFragment 并从 A-f、B-f、C-f 扩展它,但是如果我在 A-f 中并且 C-f 发生了某些事情(例如 UI 更新),那么我会收到java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.support.v7.widget.RecyclerView.setVisibility(int)”,因为此时的 C-f 已被破坏(我是对吗?)我不想创建 3 个具有相同布局的相同 fragment 。

最佳答案

我做过类似的事情,我发现使用 View 更简单并且错误更少。在执行各种事务时,android fragment 管理器有时会表现出不可预测的行为。以下是其工作原理的快速示例:

YourActivity extends Activity {
View a,b,c;

@Override
protected void onCreate(Bundle savedInstanceState) {
a = getLayoutInflater().inflate(R.layout.YOUR_LAYOUT_ID, null);
b = getLayoutInflater().inflate(R.layout.YOUR_LAYOUT_ID, null);
c = getLayoutInflater().inflate(R.layout.YOUR_LAYOUT_ID, null);
}
}

该 Activity 是 Android 的演示者/ Controller ,所以我会继续并在这里拥有逻辑,而不是现在定义演示者类。在每次按下选项卡时,您可以控制要显示的 View 。我没有看到您执行 fragment 转换的代码,因此我无法确定您的 fragment 是否被破坏。

关于java - 不同演示者的相同 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45363029/

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