findViewById错误无法在XML中找到id

时间:2013-09-18 12:13:18

标签: java android xml findviewbyid

我无法找出为什么我的findViewById没有链接到XML文件,这让我疯狂。它位于XML文件中,但仍未在java MainActivity文件中查找它。

这是我的XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

<EditText
    android:id="@+id/editCentimeters"
    android:layout_width="wrap_content"
    android:layout_height="27sp"
    android:layout_alignLeft="@+id/editInches"
    android:layout_alignTop="@+id/textCentimeters"
    android:ems="5" >

<Button
    android:id="@+id/buttonConvert"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editInches"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="98dp"
    android:text="@string/convert" />

这是我的Java

EditText etCentimeters = (EditText) findViewById(R.id.editCentimeters);
Button buttonConvert = (Button) findViewById(R.id.buttonConvert);

6 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。只需注释掉抛出错误的行&amp;建立一次项目。 Intellisense( ctrl + space )然后会显示ID。

答案 1 :(得分:0)

在您的活动的onCreate

中使用setContentView(R.layout.main);

答案 2 :(得分:0)

你需要在这里处理两件事: -

EditText etCentimeters = (EditText) findViewById(R.id.editCentimeters);
Button buttonConvert = (Button) findViewById(R.id.buttonConvert);

首先,上述代码应该出现在onCreate()方法中。

接下来,您需要将该代码段放在onCreate()方法中的此行之下,而不是之前。(我假设setContentView已经存在,如果没有,请添加)

setContentView(R.layout.main);

答案 3 :(得分:0)

您可以刷新项目。 并在您的活动中查看您的setContentView(R.layout.YOURLAYOUT_NAME)。 确保你在活动中使用你的代码。

答案 4 :(得分:0)

只需清洁并构建即可找到ID。

答案 5 :(得分:0)

清理和构建对我不起作用。我必须重新启动Android Studio。