2

Resource Layout から MapView を取得しようとしましたが、null が返されました。

 var map_view = FindViewById<MapView>(Resource.Id.emap);

mylayout.xml のように:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/etklmap"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/zoomOutButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Zoom Out" />

<com.google.android.maps.MapView
   android:id="@+id/emap"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:apiKey="apikey" />
</LinearLayout>

電話をかけずにビューを取得する方法はありますかSetContentView(Resource.Layout.mylayout);

4

1 に答える 1

2

リソース ファイルは単なる XML です。「膨張」するまで、ビューグループとウィジェットのコレクションにはなりません。

XML を拡張する 1 つの方法は、SetContentView を使用することです。

もう 1 つの方法は、インフレータ サービスを使用することです。例については、このモノドロイドの質問 (および回答) を参照してください: Android: LayoutInflator で追加されたビューを取得する


内部的には、setcontentview が行うことはすべて、まったく同じ inflaterservice を使用して XML をインフレートし、アクティビティをインフレの親フレームとして渡すことであることに注意してください。


これに関する公式の Android ドキュメントはhttp://developer.android.com/reference/android/view/LayoutInflater.htmlです。

于 2012-09-19T06:55:00.010 に答える