安卓ViewPager - 使用布局XML

3
我有一个简单的ViewPager示例,它通过一个TextView来显示当前位置。我希望将其调整为适用于我已编写的现有应用。
我的应用程序目前使用布局,然后根据需要调整值。我想在ViewPager中使用这个布局,但是我当前无法获取到布局。
在构建PagerAdapter时,我传递了来自主Activity的上下文。
然而,我无法使用findViewById获取我的布局。
有人可以建议正确的方法来获取布局吗?
public Object instantiateItem(View collection, int position)
{
    LinearLayout info = (LinearLayout)((Activity)_context).findViewById(R.id.linearlayout);

    ((ViewPager) collection).addView(info, 0);

    return info;
}

上面的代码来自我的PagerAdapter。我有一个布局,想要将其用作pager的页面,并希望将信息填充到布局的TextView和其他视图中...


发现有人说将上下文转换为活动将起作用 - 实际上并没有。 - neildeadman
1个回答

2

我会把LayoutInflater传递给适配器,然后在instantiateItem方法中按照自己的意愿创建View。

即使它不能编译,你能贴一下代码吗?

顺便问一下,你有没有看过这个实现?它曾经帮助过我,因为我忘记了一行代码。

   ((ViewPager) collection).addView( some view...,0);

在 instantiateItem 方法中。

我已经完成了几个不同的PagerAdapter实现,如果您发布代码,我可以以更高效的方式提供帮助。 - rui.araujo
我建议您将所需的布局移动到名为pager_layout.xml的单独文件中,并使用(LinearLayout)mInflater.inflate(R.layout.pager_layout,null);其中此mInflater通过getLayoutInflater()传递给适配器,而不是上下文。 - rui.araujo
该活动使用setContentView来加载一个包含ViewPager的布局。我有第二个布局xml文件(linearlayout.xml),我想将其用作ViewPager的模板 - 如果有意义的话。在模板布局中有TextViews(以及其他视图),我想将其填充为该页面相关信息。 - neildeadman
那就是你的问题。你不能使用findViewByID。你需要使用inflater。你试过了吗? - rui.araujo
我会研究一下Inflater...除非你有时间在这里添加一个示例(PS:感谢你的所有帮助!) - neildeadman
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接