Android: findViewById возвращает NULL - не можете выяснить, что не так? - PullRequest
1 голос
/ 30 сентября 2011

У меня есть следующий макет.

Когда я создаю WebView и GestureOverlayView объекты в моем классе MainActivity, он возвращает 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 ]

5 голосов
/ 30 сентября 2011

Очистка проекта решила проблему.

1 голос
/ 30 сентября 2011

Многие проблемы, связанные с ресурсами в Android, могут быть решены путем очистки и перестройки проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...