gpt4 book ai didi

android - 我如何为选项卡式 Activity 的每个选项卡创建一个 UI?

转载 作者:太空狗 更新时间:2023-10-29 15:35:13 25 4
gpt4 key购买 nike

我正在学习 Android 开发,但我不知道如何为 Fragment 创建 UI。我创建了一个新 Activity ,在创建过程中我选择了导航类型“Tabs + Swipe”。现在我有一个布局 xml,我不能使用 WYSIWYG 界面修改它,如果我 - 例如 - 在类文件中使用 java 创建一个按钮小部件,它会在每个“选项卡 View ”中创建它。

我基本上想为每个选项卡( fragment )创建不同的界面。

谢谢

最佳答案

在刚创建的Activity中可以找到内部类SectionsPagerAdapter。看看这个方法:

@Override
public Fragment getItem(int i) {
Fragment fragment = new DummySectionFragment();
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);
return fragment;
}

每个选项卡的此方法返回仅包含不同包的 DummySectionFragment 实例。如果您想为每个选项卡创建具有不同 View 的 fragment ,您应该检查 i 变量的值,并根据该值创建适当的 fragment 。例如:

@Override
public Fragment getItem(int i) {
Fragment fragment;
switch(i){
case 0:
fragment = new MyFragment1();
break;
case 1:
fragment = new MyFragment2();
break;
case 3:
fragment = new MyFragment3();
break;
default:
throw new IllegalArgumentException("Invalid section number");
}

//set args if necessary
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);

return fragment;
}

创建三个类而不是 DummySectionFragment 类:MyFragment1、MyFragment2、MyFragment2 并在方法 onCreateView 中为每个类创建或扩充 View ,例如:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.my_fragment1.xml, null);
return v;

其中 R.layout.my_fragment1.xml 是您的 MyFragment1 fragment 的布局。

关于android - 我如何为选项卡式 Activity 的每个选项卡创建一个 UI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11708937/

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