Bor*_*ris 2 eclipse android android-layout
我正在学习开发android,但我不知道如何为片段创建UI.我创建了一个新活动,在创建过程中我选择了导航类型"Tabs + Swipe".现在我有一个布局xml,我无法使用WYSIWYG界面进行修改,如果我 - 例如 - 在类文件中使用java创建一个按钮小部件,它会在每个"标签视图"中创建它.
我基本上想为每个选项卡(片段)创建不同的接口.
谢谢
Les*_*zek 13
在刚刚创建的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;
}
Run Code Online (Sandbox Code Playgroud)
每个选项卡的此方法都返回DummySectionFragment的实例,只有不同的包.如果要为每个选项卡创建具有不同视图的片段,则应检查i变量的值,并根据此值创建正确的片段.例如:
@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;
}
Run Code Online (Sandbox Code Playgroud)
而不是DummySectionFragment类创建三个类:MyFragment1,MyFragment2,MyFragment2和每个内部方法onCreateView创建或膨胀视图,例如:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.my_fragment1.xml, null);
return v;
Run Code Online (Sandbox Code Playgroud)
}
R.layout.my_fragment1.xml是MyFragment1片段的布局.
| 归档时间: |
|
| 查看次数: |
5167 次 |
| 最近记录: |