Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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
Android 我想在使用滑动选项卡时管理工具栏文本_Android - Fatal编程技术网

Android 我想在使用滑动选项卡时管理工具栏文本

Android 我想在使用滑动选项卡时管理工具栏文本,android,Android,我在一个活动中有五个可以滑动的选项卡。滑动选项卡时,工具栏文本需要相应更改。为此,我使用了从片段到活动调用该方法的接口,但它不能正常工作。我假设您希望根据所选选项卡更改工具栏的标题。为此,您可以尝试使用android支持设计库: 例如: public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSelectedListener{ TabLayout tabs; ViewPager

我在一个活动中有五个可以滑动的选项卡。滑动选项卡时,工具栏文本需要相应更改。为此,我使用了从片段到活动调用该方法的接口,但它不能正常工作。

我假设您希望根据所选选项卡更改工具栏的标题。为此,您可以尝试使用android支持设计库:

例如:

public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSelectedListener{


    TabLayout tabs;
    ViewPager viewPager;
    TabsPagerAdapter adapter;
    Toolbar toolbar;
    CharSequence Titles[] = {"one", "two", "three"};
    int Numboftabs = 3;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    if (toolbar != null) {
        toolbar.setTitle(R.string.app_name);
        setSupportActionBar(toolbar);

    }

    adapter = new TabsPagerAdapter(getSupportFragmentManager(), Titles, Numboftabs);
    // Assigning ViewPager View and setting the adapter
    viewPager = (ViewPager) findViewById(R.id.pager);
    viewPager.setAdapter(adapter);
    // Assiging the Sliding Tab Layout View
    tabs = (TabLayout) findViewById(R.id.tabs);
    tabs.setupWithViewPager(viewPager);
    tabs.setTabGravity(TabLayout.GRAVITY_FILL);
    tabs.setOnTabSelectedListener(this);
    tabs.setVisibility(View.GONE);
}
 @Override
public void onTabSelected(TabLayout.Tab tab) {
    switch(tab.getPosition()) {

        case 0:
            viewPager.setCurrentItem(0);
            toolbar.setTitle("Your Title one");
            break;
        case 1:
            viewPager.setCurrentItem(1);
            toolbar.setTitle("Your Title two");
            break;
        case 2:
            viewPager.setCurrentItem(2);
            toolbar.setTitle("Your title three");
            break;
        default:

            viewPager.setCurrentItem(tab.getPosition());
            toolbar.setTitle("Your APP NAME");
            break;
    }

}

@Override
public void onTabUnselected(TabLayout.Tab tab) {

}

@Override
public void onTabReselected(TabLayout.Tab tab) {

}
}

我是用下面的方式做的

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            if (position == 0) {
                toobar.setTitle("one");
            } else if (position == 1) {
                toobar.setTitle("two");

            } else if (position == 2) {
                toobar.setTitle("three");
            } else if (position == 3) {
                toobar.setTitle("four");
            } else if (position == 4) {
                toobar.setTitle("five");
            }
        }