android设置页面标题,更改Android Viewpager中的pagetitle

我的基础是ViewPagerIndicator附带的样本.

您基本上在页面更改时监听,并告诉适配器根据当前位置显示不同的页面标题.

如果你有这些样本工作,你只需要替换这两个文件,然后尝试样本标题 – >默认,它对我来说工作正常…

更改了TestFragmentAdapter的代码,如下所示:

package com.viewpagerindicator.sample;

import android.support.v4.app.Fragment;

import android.support.v4.app.FragmentManager;

import android.support.v4.app.FragmentPagerAdapter;

import com.viewpagerindicator.IconPagerAdapter;

class TestFragmentAdapter extends FragmentPagerAdapter implements IconPagerAdapter {

protected static final String[] CONTENT = new String[] { "This", "Is", "A", "Test", };

protected static final int[] ICONS = new int[] {

R.drawable.perm_group_calendar,

R.drawable.perm_group_camera,

R.drawable.perm_group_device_alarms,

R.drawable.perm_group_location

};

private int mCount = CONTENT.length;

// CHANGE STARTS HERE

private int current_position=0;

public void set_current_position(int i) {

current_position = i;

}

// CHANGE ENDS HERE

public TestFragmentAdapter(FragmentManager fm) {

super(fm);

}

@Override

public Fragment getItem(int position) {

return TestFragment.newInstance(CONTENT[position % CONTENT.length]);

}

@Override

public int getCount() {

return mCount;

}

@Override

public CharSequence getPageTitle(int position) {

// CHANGE STARTS HERE

if (position == current_position-1) {

return "Previous";

} else if (position == current_position+1) {

return "Next";

}

// CHANGE ENDS HERE

return TestFragmentAdapter.CONTENT[position % CONTENT.length];

}

@Override

public int getIconResId(int index) {

return ICONS[index % ICONS.length];

}

public void setCount(int count) {

if (count > 0 && count <= 10) {

mCount = count;

notifyDataSetChanged();

}

}

}

SampleTitlesDefault的代码如下所示(添加了OnPageChangeListener)

package com.viewpagerindicator.sample;

import android.os.Bundle;

import android.support.v4.view.ViewPager;

import com.viewpagerindicator.TitlePageIndicator;

// CHANGE ADDED implements.... HERE

public class SampleTitlesDefault extends BaseSampleActivity implements ViewPager.OnPageChangeListener {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.simple_titles);

mAdapter = new TestFragmentAdapter(getSupportFragmentManager());

mPager = (ViewPager)findViewById(R.id.pager);

mPager.setAdapter(mAdapter);

mIndicator = (TitlePageIndicator)findViewById(R.id.indicator);

mIndicator.setViewPager(mPager);

// CHANGE STARTS HERE

mIndicator.setOnPageChangeListener(this);

// CHANGE ENDS HERE

}

// CHANGE STARTS HERE

@Override

public void onPageScrolled(int i, float v, int i1) {

}

@Override

public void onPageSelected(int i) {

mPager = (ViewPager)findViewById(R.id.pager);

((TestFragmentAdapter)mPager.getAdapter()).set_current_position(i);

}

@Override

public void onPageScrollStateChanged(int i) {

}

// CHANGE ENDS HERE

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值