2012-03-16 51 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

相关问题