0

我有一个仅由 ListView 组成的活动布局。它应该使用一个列表格式的 xml,其中包含一个自定义形状,里面有三个 TextView。在代码中,我用所需的文本填充 ListView,当我在 AVD 上运行应用程序时,一切都按计划进行。但是,当我部署到我的 Droid Razr 时,当我运行该活动时,整个屏幕都是空白的。

编辑:在下面添加代码

这是我的自定义形状(可绘制):

<stroke
    android:width="1dp"
    android:color="#ff9f9f9f" />

<padding
    android:bottom="20dp"
    android:left="20dp"
    android:right="20dp"
    android:top="20dp" />

<solid
    android:color="@color/white" />

<corners
    android:bottomLeftRadius="7dp"
    android:bottomRightRadius="7dp"
    android:topLeftRadius="7dp"
    android:topRightRadius="7dp" />

这是我的列表格式:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="@drawable/rounded_edges"
android:orientation="vertical"
android:padding="6dip"
android:theme="@android:style/Theme.Holo.Light" >

<TextView
    android:id="@+id/details_list_title"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="6dp"
    android:layout_marginRight="6dp"
    android:layout_weight="1"
    android:textAppearance="?android:attr/textAppearanceLarge" />

这就是我在代码中使用它的方式:

        ListView listView = (ListView) findViewById(R.id.event_details_listView);
    DetailAdapter adapter = new DetailAdapter(this, R.layout.listformat_event_details, details);
    listView.setAdapter(adapter);

其中 details 是我的文本的 ArrayList>。DetailAdapter 有一个 getView 方法,可以将文本添加到 textview 并扩展布局。

4

2 回答 2

0

我相信问题可能出在<corners />标签上,这可能有点错误;比如bottomRightRadiusbottomLeftRadius属性是相反的。

您可以尝试<corners android:radius="7dp"/>改用。

android:设置单个角时形状角不起作用

Android - 无法创建简单的矩形形状... UnsupportedOperationException?

于 2013-02-13T03:49:43.693 回答
0

我可以通过更频繁地刷新 Detail Adapter 来解决问题;显然,模拟器中的延迟足以让视图计算,但物理设备太快了。

于 2013-02-13T18:41:24.877 回答