Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 简单if语句配置帮助/SectionPageAdapter显示信息_Java_Android_Loops_Object_If Statement - Fatal编程技术网

Java 简单if语句配置帮助/SectionPageAdapter显示信息

Java 简单if语句配置帮助/SectionPageAdapter显示信息,java,android,loops,object,if-statement,Java,Android,Loops,Object,If Statement,好的,在我正在构建的程序中,有一个活动在ListView中接收和显示ListFragments。此活动还有一个ViewPager(允许滑动),它覆盖SectionPageAdapter的getItem方法,以返回最终构成活动中5个不同可滑动部分的不同片段 一般来说,我对编程还比较陌生,我正在尝试考虑一种只包含1个活动和2个片段(可能是3个)的设计 getItem覆盖返回一个片段,该片段显示在5个选项卡中的每个选项卡上。两个片段将利用这个活动的布局,我希望能够以某种方式做出一个条件语句,来解释哪一

好的,在我正在构建的程序中,有一个活动在ListView中接收和显示ListFragments。此活动还有一个ViewPager(允许滑动),它覆盖SectionPageAdapter的getItem方法,以返回最终构成活动中5个不同可滑动部分的不同片段

一般来说,我对编程还比较陌生,我正在尝试考虑一种只包含1个活动和2个片段(可能是3个)的设计

getItem覆盖返回一个片段,该片段显示在5个选项卡中的每个选项卡上。两个片段将利用这个活动的布局,我希望能够以某种方式做出一个条件语句,来解释哪一个在哪种情况下是合适的

这是我的密码:

import android.graphics.Color;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;

public class SchResRanActivity extends AppCompatActivity {
public boolean isRanking;
public int daysPassed;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sch_res_ran);

    //Toolbar schResRanBar = findViewById(R.id.theTopBar);
    //setSupportActionBar(schResRanBar);

    SectionPagerAdapter sectionPagerAdapter =
            new SectionPagerAdapter(getSupportFragmentManager());

    ViewPager pager = findViewById(R.id.pager);
    pager.setAdapter(sectionPagerAdapter);

    TabLayout tabLayout = findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(pager);
    //tabLayout.setSelectedTabIndicatorColor(Color.WHITE);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_schresran_bar, menu);

    return super.onCreateOptionsMenu(menu);
}

void setPageTitle(){}

private class SectionPagerAdapter extends FragmentPagerAdapter {

    private SectionPagerAdapter(FragmentManager fm) { super(fm); }

@Override
public int getCount() { return 6; }

@Override
public CharSequence getPageTitle(int position) {
    switch(position){
        case 0:
            return getResources().getString(R.string.day1);
        case 1:
            return getResources().getString(R.string.day2);
        case 2:
            return getResources().getString(R.string.day3);
        case 3:
            return getResources().getString(R.string.day4);
        case 4:
            return getResources().getString(R.string.day5);
        case 5:
            return getResources().getString(R.string.dayPlayoffs);
    }
    return null;
}
//this code depicts what I am trying to do but is way to clunky!
@Override
    public Fragment getItem(int position) {
       if (isRanking) {
        switch (position){
                case 0:
                     if (daysPassed >= 1) {
                    return new RankingsFragment();
                      } else {
                    return new NAFragment();
                case 1:
                       if (daysPassed >= 2) {
                    return new RankingsFragment();
                      } else {
                    return new NAFragment();
                case 2:
                     if (daysPassed >= 3) {
                    return new RankingsFragment();
                      } else {
                    return new NAFragment();                    case 3:
                case 4:
                     if (daysPassed >= 4) {
                    return new RankingsFragment();
                      } else {
                    return new NAFragment();
                case 5:
                     if (daysPassed >= 5) {
                    return new RankingsFragment();
                      } else {
                    return new NAFragment(); 
                    } 
                  return null;

             if (isRanking == false) {
             case 0:
                     if (daysPassed >= 1) {
                    return new ScheduleFragment();
                      } else {
                    return new NAFragment();
                case 1:
                       if (daysPassed >= 2) {
                    return new ScheduleFragment();
                      } else {
                    return new NAFragment();
                case 2:
                     if (daysPassed >= 3) {
                    return new ScheduleFragment();
                      } else {
                    return new NAFragment();                    case 3:
                case 4:
                     if (daysPassed >= 4) {
                    return new ScheduleFragment();
                      } else {
                    return new NAFragment();
                case 5:
                     if (daysPassed >= 5) {
                    return new ScheduleFragment();
                      } else {
                    return new NAFragment(); 
                    } 
        return null;
    }
    }
    }
这段代码描述了我试图做的事情,但这是一种笨拙的方式!有人能提出一个更有效的方法来写这篇文章吗

假设有一个叫做排名的按钮和一个叫做时间表的按钮。
单击这两个按钮都可以进入SchResRan活动,但如果按下schedule按钮,变量isRanking==false,每天显示的信息都不同。因此,如果通过天数==0,则任何页面上都不会显示任何信息(所有页面都将是NA片段),但如果通过天数==1,则第1天页面将显示第1天的信息;如果通过天数==2,则第1天和第2天页面将显示排名页面的相应信息,依此类推。

您可以为此创建方法

  public Fragment getItem(int position) {

       tempPosition=position+1;
      if (dayspassed>= tempPosition) 
          {
          if (isRanking) 
          {
          return new RankingsFragment();
          }else
          {
          return new ScheduleFragment();
          }
       } else 
       {
        return new NAFragment();
       }
     }
   }

我是说…是的,我想你是对的…我不知道为什么我在想一些不必要的更复杂的事情。。。谢谢你hey@dubDeuce我更改了我的回复…检查它我删除了整个switchcase它在我的新方法片段中不可用直接返回..并在方法中添加位置+1…你只需要直接使用getItem(位置)…检查它并告诉它有用??意味着你不需要使用switchcase和getFragment你看到了吗?