2

我尝试从资源布局中获取 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 的一种方法是使用 SetContentView。

另一种方法是使用 inflaterservice - 请参阅这个 monodroid 问题(和答案)作为示例:Android: Getting the View added with LayoutInflator


请注意 - 在幕后 - 所有 setcontentview 所做的都是使用完全相同的 inflaterservice 对 XML 进行充气,将活动作为充气的父框架传递。


官方 android 文档是http://developer.android.com/reference/android/view/LayoutInflater.html

于 2012-09-19T06:55:00.010 回答