在我的Android应用程序中没有为EditText小部件生成资源ID

时间:2014-03-18 18:52:07

标签: android android-layout android-intent android-fragments

在fragemnet_crime.xml中,我有这样的代码,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"  >

  <EditText android:id="@+id/crime_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/crime_title_hint"
    />

</LinearLayout>

在上面的代码中我创建了一个测试区域小部件,我给了id =“@ + id / crime_title” 所以在R.java文件中应该为crime_title生成一个自动资源id但是没有为crime_title创建任何字段所以在CrimeFragment.java文件中,当我尝试按如下方式检索资源时,它告诉了crime_title无法解析

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_crime, parent, false);

mTitleField = (EditText)v.findViewById(R.id.crime_title);
    }

3 个答案:

答案 0 :(得分:1)

在使用ID之前,请构建项目。
所以只要注明声明行,
 mTitleField = (EditText)v.findViewById(R.id.crime_title);
之后,只需构建,取消注释,然后重新构建。

答案 1 :(得分:0)

以下解决方案之一可能适合您:

1)。可能是这样,您的某个资源文件中存在一些错误,例如在string.xml或任何其他布局文件中。因此,如果在任何此类文件上看到红色标记,您可以只导航到该文件,并纠正错误,这可能已停止自动为您的文本文件创建ID。

2)。您可以在Eclipse顶部菜单栏的项目菜单下选中自动构建选项。

3)。如果这不起作用,您可以只清理并构建项目。

4)。如果上述所有方法都失败了,只需重新启动Eclipse IDE。

答案 2 :(得分:0)

清理项目后,它生成了资源id thanku :)