当前位置: 首页 > 知识库问答 >
问题:

如何知道onCreateView函数中哪个选项卡处于活动状态?

东郭京
2023-03-14

我如何知道我的系统中哪个选项卡处于活动状态

public View oncreate View(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;
}

我认为问题出在< code>onCreateView函数中,我无法获取活动选项卡的位置。

我怎样才能完成这件事。??

共有1个答案

寇宏义
2023-03-14

获得解决方案:)通过使用Bundle和传递参数获取当前位置。下面是示例代码。。

@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;
    }
}
 类似资料:
  • 因此,我使用ViewPager,使用ActionBar选项卡式活动创建了一个Android应用程序项目。我还创建了两个片段类,并附带了相应的片段布局。当选择相应的选项卡时,我将片段返回到SectionsPagerAdapter。 现在我有一些问题。我的印象是,每次选择一个选项卡时,它都会调用片段类并进入片段的onCreateView,但它只发生一次。 我想要实现的是知道何时选择选项卡,以及相应的片

  • 问题内容: 我正在使用jQuery标签,并且其中一个标签中的内容是通过AJAX调用检索的。但是我不希望在单击选项卡(使其处于活动状态)之前触发呼叫,因为用户可能不一定会单击它。最好的方法是什么? jQuery UI为选项卡提供了和事件,但是当选择或显示 任何 选项卡时,这些事件就会触发,而不仅仅是特定的选项卡(据我所知)。 我还尝试将事件分配给特定标签的ID: 但这似乎没有任何作用,并且永远不会触

  • 问题内容: 我无法弄清楚哪个当前处于活动状态,因此如果它们在上单击“取消”,则可以清除其文本。这是我的代码。有一个视图,和两个栏按钮的项目。取消项的操作只能清除其文本,我无法弄清楚如何获得正确的文本。 我都尝试过这两个: 和: 问题答案: 您可以在类中声明一个属性,然后在中为它分配当前文本字段。然后,您可以在需要时随时调用此文本字段。

  • 我需要的TabLayout有一个“x”的标签数量,这可以根据用户的数据,已经在数据库中有所不同 My xml: 我的代码:

  • 我试图使/显示选定的导航项目为活动。我检查有关问题,但我找不到什么错在我的代码。 我知道通过使用导航链接,我们可以在选择导航项目时默认激活。 但现在,我正在尝试使用Link,显示一些路径名错误。 TypeError:无法读取未定义的属性“路径名” 请帮我知道,我的代码出了什么问题。 或者是否有其他方法显示活动导航项目? 我尝试了以下代码: 路由工作正常。 我的路由应用程序/组件代码如下: 谢谢

  • 我有一个JS/jQuery代码,如下所示,在这个代码中,我希望在会话选项卡不活动时保持JS/jQuery代码工作。 下面的代码在Google Chrome中非常好,但在Safari中不起作用。 在Safari中,当选项卡处于非活动状态时,上的值不会增加,但在Google Chrome中,它工作得非常好。在Google Chrome中,它可以按预期工作。