0

我正在为我的列表视图项目使用以下布局。

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://scheme.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:paddingLeft="10dip"
    android:textSize="18sp"
    android:minHeight="40sp"
    />

但是我在 logcat java.lang.RuntimeException 中收到一个错误...您必须提供一个 layout_width 参数。

我的 main.xml 是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget28"
    android:background="#ff000033"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="70px"
        android:layout_height="30px"
        android:paddingLeft="2px"
        android:paddingTop="2px"
        android:background="@drawable/ic_launcher"
     ></ImageView>

    <ListView
        android:id="@+id/myListView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
</LinearLayout>

这是我活动的 onCreate 代码

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    context=this.getApplicationContext();
    this.setTitle("NP Headline News");

    myListView=(ListView)findViewById(R.id.myListView);
    myListView.setOnItemClickListener(new OnItemClickListener(){

            @Override
        public void onItemClick(AdapterView<?> arg0, View v, int index,long id) {
                // TODO Auto-generated method stub
                String urlAddress=urlAddresses[index];
                String urlCaption = urlsCaptions[index];
            }

    });

  int layoutId=R.layout.simple_list_item_1;
   // int layoutId=android.R.layout.simple_list_item_1;
    aa = new ArrayAdapter<String>(this,layoutId,this.urlsCaptions);

    myListView.setAdapter(aa);
}

我认为这与我的 simple_list_item_1 有关,因为如果我使用 android.R.layout.simple_list_item_1 那么一切正常

4

3 回答 3

2

这是您清除错误的布局:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:paddingLeft="10dip"
    android:textSize="18sp"
    android:minHeight="40sp"

    />

您能否区分包含错误的代码和上面的代码。

我希望你们在编码的时候不要紧张和催促,那一定会导致你们头脑混乱。

对于这些类型的错误,您可以在 DDMS 的帮助下自行调试。因为代码非常非常简单,查看对。

关于前面的答案的一些话:

没有必要仅在文件内部声明 aTextView或 any的人。ViewLayout

它也是一个View,所以它可以独自坐在一个Canvas

而且问题不在于"fill_parent", 和"match_parent"某事。

我想你现在也可能很紧张,因为我花了这么多时间给你错误的原因。

开始了,

该错误是因为仅在以下行中,

xmlns:android="http://schemas.android.com/apk/res/android"

在上面的行中,您错误地输入schemeschemas.

这就是错误。

所以只有我提到,如果你不紧张地看代码,你可以很容易地得到它。

xmlns表示命名空间,这应该是正确的,以使android: 前缀属性有价值。

希望您理解并回答对您有帮助。

于 2012-04-16T14:20:37.697 回答
0

您应该在布局下使用您的 TextView,因为您使用的是唯一的 TextView,您可以添加一个 LinearLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
<TextView xmlns:android="http://scheme.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:paddingLeft="10dip"
    android:textSize="18sp"
    android:minHeight="40sp"
    />
</LinearLayout>
于 2012-04-16T13:56:04.327 回答
0

我想问题来自不同的东西。

您正在执行自定义项目视图,但您使用标准 AdapterView。

对于标准的 arrayAdapter,您需要满足预期的结构。

或者,您构建自己的 ArrayAdapter 并提供您专用的 getView

Android 自定义列表视图

于 2012-04-16T14:18:49.120 回答