的LinearLayout在ListView [英] LinearLayout in a ListView

查看:267
本文介绍了的LinearLayout在ListView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我试图把具有的ListView内的两个TextViews一个的LinearLayout,但我无法和程序保持与我已经试过崩溃。 ListView控件只会有一个元素。我的线性布局XML如下:

 <&的ListView GT;
<的LinearLayout
    机器人:方向=垂直
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_width =FILL_PARENT
    安卓了minHeight =机器人:ATTR /列表preferredItemHeight
    机器人:重力=center_vertical
    机器人:drawablePadding =14dip
    机器人:paddingLeft =15dip
    机器人:paddingRight =15dip>
        <的TextView
            机器人:layout_width =FILL_PARENT
            机器人:layout_height =WRAP_CONTENT
            机器人:textAppearance =:/>中的Andr​​oid ATTR / textAppearanceLarge?
        <的TextView
            机器人:layout_width =FILL_PARENT
            机器人:layout_height =WRAP_CONTENT
            机器人:textAppearance =:/>中的Andr​​oid ATTR / textAppearanceSmall?
< / LinearLayout中>
< /&的ListView GT;

我如何得到这个列表视图里面?当我试图把它在一个列表视图,我得到一个错误的电话说对不起!该应用程序意外停止。请再试一次。堆栈跟踪如下。

  I / dalvikvm(1692):调试线程不积极,忽略DDM发送(T = 0x41504e4d L = 38)
I / dalvikvm(1692):调试线程不积极,忽略DDM发送(T = 0x41504e4d L = 56)
D / AndroidRuntime(1692):关闭VM
W / dalvikvm(1692):主题ID = 3:螺纹未捕获的异常退出(组= 0x4001b170)
E / AndroidRuntime(1692):未捕获的处理程序:螺纹主力退出,由于未捕获的异常
E / AndroidRuntime(1692):了java.lang.RuntimeException:无法启动活动ComponentInfo {com.acme.activeisclickable / com.acme.activeisclickable.ActiveIsClickable}了java.lang.RuntimeException:二进制XML文件行#14:你必须提供一个layout_width属性。
E / AndroidRuntime(1692):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
E / AndroidRuntime(1692):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
E / AndroidRuntime(1692):在android.app.ActivityThread.access $ 2200(ActivityThread.java:119)
E / AndroidRuntime(1692):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1863)
E / AndroidRuntime(1692):在android.os.Handler.dispatchMessage(Handler.java:99)
E / AndroidRuntime(1692):在android.os.Looper.loop(Looper.java:123)
E / AndroidRuntime(1692):在android.app.ActivityThread.main(ActivityThread.java:4363)
E / AndroidRuntime(1692):在java.lang.reflect.Method.invokeNative(本机方法)
E / AndroidRuntime(1692):在java.lang.reflect.Method.invoke(Method.java:521)
E / AndroidRuntime(1692):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:860)
E / AndroidRuntime(1692):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E / AndroidRuntime(1692):在dalvik.system.NativeStart.main(本机方法)
E / AndroidRuntime(1692):了java.lang.RuntimeException:通过引起二进制XML文件行#14:你必须提供一个layout_width属性。
E / AndroidRuntime(1692):在android.content.res.TypedArray.getLayoutDimension(TypedArray.java:438)
E / AndroidRuntime(1692):在android.view.ViewGroup $ LayoutParams.setBaseAttributes(ViewGroup.java:3463)
E / AndroidRuntime(1692):在android.view.ViewGroup $ MarginLayoutParams<&初始化GT;(ViewGroup.java:3543)。
E / AndroidRuntime(1692):在android.widget.LinearLayout $的LayoutParams<&初始化GT;(LinearLayout.java:1265)。
E / AndroidRuntime(1692):在android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1191)
E / AndroidRuntime(1692):在android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:45)
E / AndroidRuntime(1692):在android.view.LayoutInflater.rInflate(LayoutInflater.java:620)
E / AndroidRuntime(1692):在android.view.LayoutInflater.inflate(LayoutInflater.java:407)
E / AndroidRuntime(1692):在android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E / AndroidRuntime(1692):在android.view.LayoutInflater.inflate(LayoutInflater.java:276)
E / AndroidRuntime(1692):在com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
E / AndroidRuntime(1692):在android.app.Activity.setContentView(Activity.java:1622)
E / AndroidRuntime(1692):在com.acme.activeisclickable.ActiveIsClickable.onCreate(ActiveIsClickable.java:35)
E / AndroidRuntime(1692):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E / AndroidRuntime(1692):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
E / AndroidRuntime(1692):11 ...更多
I /过程(1275):发送信号。 PID:1692 SIG:3
I / dalvikvm(1692):主题ID = 7:反应信号3
I / dalvikvm(1692):写堆栈跟踪/data/anr/traces.txt


解决方案

我假设你正在试图自定义列表项。你应该写自己的自定义适配器来做到这一点。试试这个教程或你可以看看这些视频


  1. $ P $在ListView psenting数据

  2. 过渡到ListActivity

  3. 美化您的列表:搞不定

  4. 美化您的列表:分辩办法做到这一点

披露:我的上述视频的作者

So I'm trying to put a LinearLayout that has two TextViews inside of a ListView but I'm having trouble and the program keeps crashing with what I've tried. The ListView would just have one element. The xml for my Linear Layout is as follows:

<ListView>
<LinearLayout
    android:orientation="vertical" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:gravity="center_vertical"
    android:drawablePadding="14dip"
    android:paddingLeft="15dip"
    android:paddingRight="15dip">
        <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"/>
        <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"/>
</LinearLayout>
</ListView>

How do I get this inside of a listview? When I try putting it in a listview, I get an error on the phone saying Sorry! The application has stopped unexpectedly. Please try again. The stacktrace is below.

I/dalvikvm( 1692): Debugger thread not active, ignoring DDM send (t=0x41504e4d l=38)
I/dalvikvm( 1692): Debugger thread not active, ignoring DDM send (t=0x41504e4d l=56)
D/AndroidRuntime( 1692): Shutting down VM
W/dalvikvm( 1692): threadid=3: thread exiting with uncaught exception (group=0x4001b170)
E/AndroidRuntime( 1692): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 1692): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.acme.activeisclickable/com.acme.activeisclickable.ActiveIsClickable}: java.lang.RuntimeException: Binary XML file line #14: You must supply a layout_width attribute.
E/AndroidRuntime( 1692):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
E/AndroidRuntime( 1692):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
E/AndroidRuntime( 1692):        at android.app.ActivityThread.access$2200(ActivityThread.java:119)
E/AndroidRuntime( 1692):        at  android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
E/AndroidRuntime( 1692):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1692):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 1692):        at android.app.ActivityThread.main(ActivityThread.java:4363)
E/AndroidRuntime( 1692):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1692):        at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 1692):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime( 1692):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime( 1692):        at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1692): Caused by: java.lang.RuntimeException: Binary XML file line #14: You must supply a layout_width attribute.
E/AndroidRuntime( 1692):        at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:438)
E/AndroidRuntime( 1692):        at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3463)
E/AndroidRuntime( 1692):        at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:3543)
E/AndroidRuntime( 1692):        at android.widget.LinearLayout$LayoutParams.<init>(LinearLayout.java:1265)
E/AndroidRuntime( 1692):        at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1191)
E/AndroidRuntime( 1692):        at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:45)
E/AndroidRuntime( 1692):        at android.view.LayoutInflater.rInflate(LayoutInflater.java:620)
E/AndroidRuntime( 1692):        at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
E/AndroidRuntime( 1692):        at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E/AndroidRuntime( 1692):        at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
E/AndroidRuntime( 1692):        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
E/AndroidRuntime( 1692):        at android.app.Activity.setContentView(Activity.java:1622)
E/AndroidRuntime( 1692):        at com.acme.activeisclickable.ActiveIsClickable.onCreate(ActiveIsClickable.java:35)
E/AndroidRuntime( 1692):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime( 1692):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
E/AndroidRuntime( 1692):        ... 11 more
I/Process ( 1275): Sending signal. PID: 1692 SIG: 3
I/dalvikvm( 1692): threadid=7: reacting to signal 3
I/dalvikvm( 1692): Wrote stack trace to '/data/anr/traces.txt'

解决方案

I assume you are trying to customize the list items. You should write your own custom adapter to do that. Try this tutorial or you can check out these videos:

  1. Presenting your data in a ListView
  2. Transitioning to ListActivity
  3. Beautify your List: Get it working
  4. Beautify your List: Rigth way to do it

DISCLOSURE: I'm the author of the above mentioned videos.

这篇关于的LinearLayout在ListView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆