在android中,我不确定我是否完全理解这个R课程。我正在浏览数独的例子,我有这段代码:switch (v.getId()) // the id of the argument passed is evaluated by switch statement{ case R.id.about_button: // Intent i = new Intent(this, about.class); startActivity(i); break; // More buttons go here (if any) ...}我是Java的新手,但从我收集的内容看起来它正在接受输入(触摸屏触摸按钮)并评估参数。然后,如果识别出about按钮,则设置case语句,并创建新的界面屏幕,然后导航到手机上。这是正确的吗?如果我得到了正确的要点,为什么与“R”类交易呢?为什么要调用它来识别按钮的ID?我认为超类(在这个项目中)是SudokuActivity类。
3 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
R是一个只包含公共常量的类。(公共静态决赛)。
它是一个生成的类(由Eclipse中的Android插件提供),它反映了您在res文件中定义的各种值。
例如,你应该有类似的东西:
android:id="@+id/about_button"
在项目的某个布局/菜单xml文件中的某个位置,一旦你编写了它,Eclipse将在R文件中生成一个常量(你可以在它下面找到它gen/PACKAGE/R.java)
慕婉清6462132
TA贡献1804条经验 获得超2个赞
R
在编译代码之前,类是由您的资源中的Android工具生成的。它包含您可以在项目中引用的每个资源的已分配数字常量。例如,您具有包含的XML资源文件about_button
。如果您没有R
类,则必须使用字符串“about_button”在代码中引用它。如果您在此字符串中出错,则只有在运行应用程序时才能了解它。随着R
你会更早地看到错误在编译时。
R
以这样的方式构建,您可以通过其内部类来引用资源。例如,R.id
包含id常量并R.layout
包含布局常量。
添加回答
举报
0/150
提交
取消