当前位置: 首页 > 知识库问答 >
问题:

自定义listView设计不适用于设备,但适用于模拟器

薛宏壮
2023-03-14

代码如下:

adapter=new ArrayAdapter<String>(
                this, 
                R.layout.zalistu, 
                android.R.id.text1, 
                values);

这是适配器,我在这里为列表做了自己的设计(< code>R.layout.zalistu),它在仿真器中工作,但在设备上它给我一个错误(应用程序意外停止),如果我使用< code>simple_list_item_1,那么它在仿真器和我的设备上都可以正常工作。

这里是R:layout.zalistu:

    <?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
    android:paddingRight="?android:attr/listPreferredItemPaddingRight"
    android:minHeight="?android:attr/listPreferredItemHeightSmall"
    android:textStyle="bold"
    android:textColor="#FF00FF"
/>

日志猫:

08-13 13:26:15.909: E/AndroidRuntime(6832): FATAL EXCEPTION: main
08-13 13:26:15.909: E/AndroidRuntime(6832): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.LayoutInflater.createView(LayoutInflater.java:518)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.AbsListView.obtainView(AbsListView.java:1495)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.ListView.onMeasure(ListView.java:1127)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.View.measure(View.java:8335)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.RelativeLayout.measureChild(RelativeLayout.java:566)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:381)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.View.measure(View.java:8335)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.View.measure(View.java:8335)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.View.measure(View.java:8335)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.View.measure(View.java:8335)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.ViewRoot.performTraversals(ViewRoot.java:843)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1892)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.os.Looper.loop(Looper.java:130)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.app.ActivityThread.main(ActivityThread.java:3835)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at java.lang.reflect.Method.invokeNative(Native Method)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at java.lang.reflect.Method.invoke(Method.java:507)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at dalvik.system.NativeStart.main(Native Method)
08-13 13:26:15.909: E/AndroidRuntime(6832): Caused by: java.lang.reflect.InvocationTargetException
08-13 13:26:15.909: E/AndroidRuntime(6832):     at java.lang.reflect.Constructor.constructNative(Native Method)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.LayoutInflater.createView(LayoutInflater.java:505)
08-13 13:26:15.909: E/AndroidRuntime(6832):     ... 32 more
08-13 13:26:15.909: E/AndroidRuntime(6832): Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x2
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.view.View.<init>(View.java:1978)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.TextView.<init>(TextView.java:350)
08-13 13:26:15.909: E/AndroidRuntime(6832):     at android.widget.TextView.<init>(TextView.java:343)
08-13 13:26:15.909: E/AndroidRuntime(6832):     ... 35 more

我设备上的Android版本是2.3.7,模拟器上的版本是4.0.4(API 15)

共有2个答案

慕容越泽
2023-03-14

使用android: id="@id/文本1"而不是android: id="@android: id/文本1"

此外...

适配器=新Array适配器

马坚
2023-03-14

您使用过的R.attr中的所有属性,例如listPreferredItemPadding

 类似资料:
  • 我是Android开发的新手 我试图在应用程序中创建自定义标题栏。它正在模拟器中工作。但是当我在我的设备上运行这个应用程序时…它停止了(没有加载) 自定义标题栏的 XML 代码 我的活动类中的代码 模拟器中没有问题...它在那里工作正常,但在真实设备中不起作用,如果有人请告诉我解决方案。

  • 编辑:Android Studio很慢地告诉我已弃用。由于某种原因,直到编写并运行代码很久之后,它才告诉我。然而,问题仍然存在。我只是想在我的问题中加入这个发现。 我有一个充当指南针的ImageView。在真实设备上一切都正常,但在我的模拟器上,扩展控件对ImageView没有影响。 如果我在模拟器上使用谷歌地图,我可以看到指南针在工作。如果我的应用程序在真实设备上运行,为什么它的工作原理不一样?

  • 我正在尝试为中的每一行设置 突出显示。 我有一个可绘制的资源文件: 我已经在三星Galaxy S5设备上进行了测试,该设备可以正常工作。但是,当我在安装了Android 4.4.2的中兴Compel设备上进行测试时,它不起作用。 我的应用程序针对API 15及更高版本。 任何想法为什么这样: 不能在Android4.4.2设备上工作? 日志中的错误: 由以下原因引起:组织:二进制 XML 文件行

  • 我有一个进度可绘制的,在运行AndroidLollipop的设备上无法正常工作。 在运行Android M、KitKat和Jellybean的设备上,绘制为65%的圆圈的渲染显示。然而,如果相同的代码在Android Lollipop(API 21)上运行,圆圈显示为100%。 完整的源代码可在这里获得:https://github.com/slashrootv200/CircleProgress

  • 问题内容: 我有一个ListView,其行中应具有以下布局: 应该是静态的,但每隔几秒钟就会更改一次。 我通过填充,将其传递给并在每次数据更改时进行设置来实现它: 我的问题是我不知道如何以上述格式显示数据。 提前致谢。 问题答案: 将此添加到你的布局文件夹 使你的主要xml布局如下 这是你的适配器 你的Java活动

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt