2

此处的 viewpager 示例包含以下行:

    mViewPager = new ViewPager(this);
    mViewPager.setId(R.id.pager);

我不明白 R.id.pager 是如何定义的。我应该在某处的xml中创建一个viewpager吗?但这没有意义,因为它在前一行中实例化了一个查看器。如果有人能为我解决这个问题,我将不胜感激!!

谢谢!!

编辑

显然将行更改为:

mViewPager.setId(1);

让它工作:) :)

4

2 回答 2

9

您可以直接在res/values目录中的资源文件中定义 id。文件的名称无关紧要,但它可能看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item
        type="id"
        name="pager" />
</resources>

当您使用如下属性为布局元素设置 id 时,ID 也可以在布局中自动出现:

android:id="@+id/pager"

属性中的+表示R.id如果指定的 id 不存在,则将其添加到。

最好使用 XML 定义的 ID 而不是将值硬编码到代码中,原因与使用符号常量(例如final static int FOO = 1;)而不是到处散布整数文字更好的原因相同。

有关更多信息,请参阅ID 资源文档。

于 2012-07-20T01:42:29.310 回答
1

它在 bin 文件夹下的 R.txt 文件中定义。

int id pager 0x7f05003c
于 2014-04-04T14:07:39.450 回答