java - 自定义 ViewPager 的 PageTitles

标签 java android xml android-viewpager

以下是我的 XML,我的 PagerTitleStrip 嵌入到 ViewPager 中:

    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="500dp"
        android:scaleType="centerCrop">

        <android.support.v4.view.PagerTitleStrip
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:layout_gravity="top" />

    </android.support.v4.view.ViewPager>

这是我自定义的 PagerAdapter 类。

public class CustomPagerAdapter extends PagerAdapter {

    private int[] image_resources = {
            R.drawable.1,
            R.drawable.2,
            R.drawable.3
    };
    private Context ctx;
    private LayoutInflater layoutInflater;
    public CustomPagerAdapter(Context ctx) {
        this.ctx = ctx;
    }

    @Override
    public int getCount() {
        return image_resources.length;
    }

    @Override
    public boolean isViewFromObject(View view, Object o) {
        return (view == (RelativeLayout) o);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return "Title Here";
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        layoutInflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View item_view = layoutInflater.inflate(R.layout.pager_item, container, false);
        ImageView imageview = (ImageView) item_view.findViewById(R.id.image_view);
        imageview.setImageResource(image_resources[position]);
        container.addView(item_view);
        return item_view;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((RelativeLayout) object);
    }
}

目前,getPageTitle 只返回一个常量字符串。如何为每张图片返回唯一的标题?

最佳答案

@Override
public CharSequence getPageTitle(int position) {
    return "Page: "+position;
}

只需使用 getPageTitle(...) 中的 positionArrayList 获取 item

关于java - 自定义 ViewPager 的 PageTitles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33865575/

相关文章:

java - Spring 启动 : testing paged results using TestRestTemplate

java - 与条件协商的语法 where 子句

android - 带有 ListView 和消息的对话框

java - 在没有编辑文本的情况下捕获软键盘上完成的操作?

xml - 如何使用 xmlstarlet 合并两个 xml?

c# - SelectSingleNode 和命名空间 - 找不到节点(使用命名空间 mgr)

java - 同步与 Collection.synchronizedList 与 CopyOnWriteArrayList

java - 如何使用 Switch 语句设置 ImageIcon

Android lollipop api 不显示

php - 通过 https : SSL3_GET_SERVER_CERTIFICATE 使用 php 加载外部 xml 文件时出错