Android XML布局问题

时间:2011-06-28 19:23:16

标签: android xml listview layout android-layout

我正在尝试创建一个行布局,其中每个列表项都有一个模板可供使用。目前我有这个,它允许我在每个列表中显示单行文本。

<?xml version="1.0" encoding="utf-8"?>
<TextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:textSize="20sp"
  android:padding="100dp" >  
</TextView>

但是,当我尝试更改它以允许我添加更多项目(如图像按钮和更多文本字段)时,它始终不允许我编译。

我尝试从developer.android网站上的教程中获取一段xml,

 <?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="wrap_content"
 android:orientation="vertical">

 <TextView android:id="@+id/text1"
     android:textSize="16sp"
     android:textStyle="bold"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>

 <TextView android:id="@+id/text2"
     android:textSize="16sp"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>
 </LinearLayout>

但它引发了一个错误说明 - 匹配“[xX] [mM] [lL]”的处理指令目标不是      允许。      - 错误:解析XML时出错:XML或文本声明不在实体的开头

有人可以帮我吗?我不太清楚这个错误意味着什么。

更新:

我想要做的是在右边有一个像侧栏一样的片段,显示一个项目列表,我发布的第一个xml,我能够得到我想要的结果,但我不能不做任何改动。

package com.project.test;

import android.app.ListFragment;  
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class TestListFragment extends ListFragment {

    String [] Items = {"Item A", "Item B", "Item C"};

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(getActivity(),
                R.layout.listtemplate, Items));
    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        Log.i("FragmentList", "Item clicked: " + id);
    }
}

2 个答案:

答案 0 :(得分:21)

你不会相信这个解决方案......我有同样的问题,答案是“在启动xml第一行之前删除所有空格”

答案 1 :(得分:2)

可能是因为您缺少LinearLayout的起始标记?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="vertical">

 <TextView android:id="@+id/text1"
     android:textSize="16sp"
     android:textStyle="bold"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>

 <TextView android:id="@+id/text2"
     android:textSize="16sp"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>
 </LinearLayout>