1

私は単純なアプリ、レイアウト 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" >
    <WebView
        android:id="@+id/webview"
        android:layout_width="200dp"
        android:layout_height="200dp" />
</RelativeLayout>

次のコードを使用する場合:

WebView webview = (WebView)findViewById(R.id.webview);
webview.getRootView().findViewById(android.R.id.content);

webview.getRootView().findViewById(android.R.id.content); android.widget.FrameLayoutを返します。それは何ですか? アプリで FrameLayout を定義したことはありません。デフォルトで Android によって提供されますか?

4

2 に答える 2

1

この質問は(閉じられていますが)答えていると思います。

findViewById(R.id.content) と getRootView() の違い

Hierarchy Viewer ツールを確認してください。レイアウトのデバッグに非常に役立つ場合。アクティビティ内のすべてのビューのツリー全体が表示されます。ほとんどすべてのアクティビティのルートには、FrameLayout があると思います。

于 2012-09-09T00:58:20.553 に答える
-1

FrameLayoutWebViewによって内部的に使用されます。

于 2012-09-09T00:41:52.670 に答える