我的R.id. <name>不会解决</name>

时间:2015-03-08 22:49:42

标签: android eclipse android-resources

我的问题类似于下面链接的问题。 XML's not being resolved/recognized by Eclipse?

我正在编写试图使用R.id的代码。但它找不到我用过的id。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/contactlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    private class ContactListAdapter extends ArrayAdapter<Contact>{
        public ContactListAdapter() {
            super (MainActivity.this, R.layout.contactlayout, Contact); <!--wont find contactlayout-->

我试图删除“import android.R;”,注释掉R行,然后重新构建它。链接没有说明从哪里导入R所以当我问题回来时。谢谢你的帮助。

PS如果我没有做这个帖子,请告诉我。这是我的第一次。

3 个答案:

答案 0 :(得分:0)

它不会编译,因为R.layout类引用XML文件的名称而不是文件中的父视图。所以它会是

private class ContactListAdapter extends ArrayAdapter<Contact>{
        public ContactListAdapter() {
            super (MainActivity.this, R.layout.nameofthexmlfile, Contact);

答案 1 :(得分:0)

您的项目R将在一个Java包中生成,其名称与清单中的Android包名称相同。因此,如果Android软件包名称为com.example.myproject,则不在Java软件包com.example.myproject中的类需要import com.example.myproject.R;

请注意,项目的Android包名称不一定与项目中的任何Java包相对应。它们通常是对应的,因为它们都遵循相同的命名约定。

答案 2 :(得分:0)

感谢大家的帮助。事实证明,我的布局之一有导致问题的错误,当我应该导入com.someName.MyApp.R时,我导入了android.R。我还找到了我的R.java文件,它位于gen / myapp下。希望这有助于其他人。再次感谢。