2012-03-16 56 views
0

嗨等什麼即時試圖做的是當玩家輸掉遊戲高分列表出現佔據半個屏幕在ListView的形式。我試圖使用從我的XML im充氣的listview對象不知道如何做到這一點,雖然。如何創建一個列表視圖對象的Android

我曾嘗試:

LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

ListView lv = (ListView) inflater.inflate(R.id.highscores,null); 

,但它不斷告訴我LV是空

繼承人我的xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 

<com.SpaceShot.single android:id="@+id/single1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 

</com.SpaceShot.single> 

<ListView android:id="@+id/highScores" 
android:layout_width="wrap_content" 
android:layout_height="200dp" 
android:padding="15dp" 
android:visibility= "invisible" 
> 
</ListView> 
</FrameLayout> 

編輯:

現在膨脹ListView的作品但我得到這個錯誤:

03-15 23:05:01.351: ERROR/AndroidRuntime(2555): Uncaught handler: thread Thread-11 
exiting due to uncaught exception 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555): android.view.InflateException: Binary 
XML file line #9: Error inflating class java.lang.reflect.Constructor 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
android.view.LayoutInflater.createView(LayoutInflater.java:512) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:564) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
android.view.LayoutInflater.rInflate(LayoutInflater.java:617) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
com.SpaceShot.single$singleThread.doDraw(single.java:503) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
com.SpaceShot.single$singleThread.run(single.java:1754) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555): 
Caused by: 
java.lang.reflect.InvocationTargetException 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555): at com.SpaceShot.single.<init> 
(single.java:1922) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555): at 
java.lang.reflect.Constructor.constructNative(Native Method) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at  
java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at 
android.view.LayoutInflater.createView(LayoutInflater.java:499) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  ... 7 more 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555): 
Caused by: java.lang.RuntimeException: 
Can't create handler inside thread that has not called Looper.prepare() 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at android.os.Handler.<init> 
(Handler.java:121) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at android.view.SurfaceView$1. 
<init>(SurfaceView.java:107) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  at android.view.SurfaceView.<init> 
(SurfaceView.java:105) 
03-15 23:05:01.371: ERROR/AndroidRuntime(2555):  ... 11 more 
+0

[Rü加載活動中的正確的佈局? – Asdfg 2012-03-16 02:30:15

+0

你可以在代碼中找到你的充氣器嗎? – Calvin 2012-03-16 02:34:08

+0

所以當你膨脹listview的時候出現錯誤? – iTurki 2012-03-16 02:41:36

回答

2

LayoutInflater用來充氣的佈局,所以你需要做以下,以獲得正確的結果:

LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

View layout = (View)inflater.inflate(R.layout.your_layout,null); 

ListView v = (ListView)layout.findViewById(R.id.highscores); 
+0

FYI:http://developer.android.com/reference/android/view/LayoutInflater.html – hungr 2012-03-16 03:02:07

+0

謝謝現在即時得到不同的錯誤,雖然生病後在原來的職位 – MikeT 2012-03-16 03:06:19

+0

對於你的第二問題,因爲你可以在看stacktrace該問題可能是由該自定義視圖引起的,您可能需要在該類中發佈一些代碼以解決該問題;) – hungr 2012-03-16 03:16:13

相關問題