Android:findViewById返回NULL - 无法找出什么错误?

时间:2011-09-30 09:54:21

标签: android layout

我有以下布局。

当我在MainActivity类中创建WebViewGestureOverlayView个对象时,它会为这两个对象返回null

GestureOverlayView gesturesView = (GestureOverlayView) findViewById(R.id.gestures);
WebView webView = (WebView) findViewById(R.id.webview);

我的布局:

<?xml version="1.0" encoding="utf-8"?>
<android.gesture.GestureOverlayView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gestures"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <WebView
            android:id="@+id/webview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>
</android.gesture.GestureOverlayView>

当我将上面的布局更改为以下内容时(我在android.gesture.GestureOverlayView内移动了LinearLayout),它运行正常。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <android.gesture.GestureOverlayView
        android:id="@+id/gestures"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <WebView
            android:id="@+id/webview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </android.gesture.GestureOverlayView>
</LinearLayout>

我无法弄清楚我以前的布局有什么问题。

请有人解释一下。

2 个答案:

答案 0 :(得分:5)

清理项目解决了这个问题。

答案 1 :(得分:1)

许多围绕Android资源的问题都可以通过清理和重建项目来解决。