我怎么知道哪个标签在我的
中有效public View onCreateView(LayoutInflater inflater,ViewGroup容器,Bundle savedInstanceState)函数???
以下代码仅用于导航,但在每个选项卡中显示最后一个布局。
public final class RobozoxFragment extends Fragment {
private static final String KEY_CONTENT = "RobozoxFragment:Content";
private static int currentPosition = 100;
public static RobozoxFragment newInstance(String content,int position) {
currentPosition = position;
RobozoxFragment fragment = new RobozoxFragment();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 20; i++) {
builder.append(content).append(" ");
}
builder.deleteCharAt(builder.length() - 1);
fragment.mContent = builder.toString();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View myFragmentView;
if(currentPosition == 1){
myFragmentView = inflater.inflate(R.layout.first, container, false);
}else if(currentPosition == 2){
myFragmentView = inflater.inflate(R.layout.second, container, false);
}else if(currentPosition == 3){
myFragmentView = inflater.inflate(R.layout.third, container, false);
}else if(currentPosition == 4){
myFragmentView = inflater.inflate(R.layout.fourth, container, false);
}else if(currentPosition ==5){
myFragmentView = inflater.inflate(R.layout.fifth, container, false);
}else{
myFragmentView = inflater.inflate(R.layout.activity_main, container, false);
}
return myFragmentView;
}
我认为问题出在onCreateView
函数中,我无法获得活动标签位置。
我怎样才能完成这件事。??
答案 0 :(得分:1)
得到了解决方案:) 通过使用捆绑和传递参数获取当前位置。示例代码如下..
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView;
Bundle args = getArguments();
int currentView = args.getInt(Constants.ARG_SECTION_NUMBER)-2;
if(currentView == 0){
rootView = inflater.inflate(R.layout.lay1, container, false);
}else if(currentView == 1){
rootView = inflater.inflate(R.layout.lay2, container, false);
}else {
rootView = inflater.inflate(R.layout.activity_main, container, false);
}
return rootView;
}
@Override
public Fragment getItem(int i) {
switch (i) {
case 0:
// The first section of the app is the most interesting -- it offers
// a launchpad into the other demonstrations in this example
// application.
return new LaunchpadSectionFragment();
default:
// The other sections of the app are dummy placeholders.
Fragment fragment = new RobozoxSectionFragment();
Bundle args = new Bundle();
args.putInt(Constants.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);
return fragment;
}
}