了解Android中的R类

在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类。


慕姐4208626
浏览 1088回答 3
3回答

MMMHUHU

R是一个只包含公共常量的类。(公共静态决赛)。它是一个生成的类(由Eclipse中的Android插件提供),它反映了您在res文件中定义的各种值。例如,你应该有类似的东西:android:id="@+id/about_button"在项目的某个布局/菜单xml文件中的某个位置,一旦你编写了它,Eclipse将在R文件中生成一个常量(你可以在它下面找到它gen/PACKAGE/R.java)

慕婉清6462132

R在编译代码之前,类是由您的资源中的Android工具生成的。它包含您可以在项目中引用的每个资源的已分配数字常量。例如,您具有包含的XML资源文件about_button。如果您没有R类,则必须使用字符串“about_button”在代码中引用它。如果您在此字符串中出错,则只有在运行应用程序时才能了解它。随着R你会更早地看到错误在编译时。R以这样的方式构建,您可以通过其内部类来引用资源。例如,R.id包含id常量并R.layout包含布局常量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Android