2013-03-03 54 views
0

我正在尝试将MapViewListView结合使用。我的理解是,我需要扩展MapActivity,然后获取要在我的课程中使用的ListView的引用。我的问题是我无法获得对ListView的参考。Android:如何获得对listView的引用?

这是我的XML:

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/AbsoluteLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <com.google.android.maps.MapView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/mapview" 
     android:layout_width="match_parent" 
     android:layout_height="150dp" 
     android:layout_y="0dp" 
     android:clickable="true" /> 

    <ListView 
     android:id="@android:id/list" 
     android:layout_width="match_parent" 
     android:layout_height="268dp" 
     android:layout_y="151dp" > 

    </ListView> 

</AbsoluteLayout> 

这是我想获得的ListView参考:

//instance vars 
ListView listView; 

//get ref to listview 
listView = findViewById(R.id.list); 

出于某种原因,它说,名单是不是现场。我是否错误地引用了它?

任何帮助表示赞赏。

+1

'AbsoluteLayout'已被弃用:) – Geros 2013-03-03 00:09:26

回答

0

应该

listView = (ListView) findViewById(android.R.id.list); 

但是,因为你没有使用ListActivity,你不"@android:id/list""@+id/list"(或任何自定义)将工作。

通常情况下,您在需要时使用Android ID,例如使用ListActivity/ListFragment时只能在您的自定义布局包含正确的ID时才能使用。

此外,您应该使用MapFragments/SupportMapFragment s代替MapActivity is deprecated