R.id.pager?这定义在哪里?

时间:2012-07-20 01:35:32

标签: android android-layout

viewpager的示例here包含以下行:

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

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

谢谢!

修改

显然将行改为:

mViewPager.setId(1);

使它工作:):)

2 个答案:

答案 0 :(得分:9)

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

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item
        type="id"
        name="pager" />
</resources>
当您使用如下属性为布局元素设置id时,

ID也会在布局中自动弹出:

android:id="@+id/pager"

属性中的+表示将指定的ID添加到R.id(如果它尚不存在)。

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

有关详细信息,请参阅the docs on ID resources

答案 1 :(得分:1)

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

int id pager 0x7f05003c