findViewById遇到问题 - 返回null

时间:2014-01-12 06:09:40

标签: java android

我有这样的activity_main XML:

<LinearLayout ...>
    <EditText android.id="@+id/edit_text"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
    <Button android.id="@+id/my_send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send"
        android:onClick="sendMessage" />
</LinearLayout>

主要的java代码是:

public class MainActivity extends Activity {
    void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);   
        setContentView(R.layout.activity_main);
        EditText editText = (EditText) findViewById(R.id.edit_text);
        if (editText == null)   
            Log.v("editText", "null editText");
        else
            Log.v("editText", "good editText");
    }
}

显示正确,我可以看到EditText和Button字段。但是,我总是为editText获取NULL。我读过以前的问题。其中大多数是由于未使用setContentView(R.layout.active_main)这一事实。但我无法找出为什么我的代码有问题。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

您的XML存在问题

android:id不是android.id

答案 1 :(得分:2)

您使用的是.而不是:。所以请按照以下方式进行更正:

<LinearLayout ...>
    <EditText android:id="@+id/edit_text"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
    <Button android:id="@+id/my_send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send"
        android:onClick="sendMessage" />
</LinearLayout>