Android AdapterView和addView出现问题

Android AdapterView和addView出现问题,android,parsing,listview,adapter,android-adapterview,Android,Parsing,Listview,Adapter,Android Adapterview,我希望下面的类显示一些文本视图/按钮/微调器,以及包含解析数据的ListView。但是,listview/adapter/addview会引起一些问题。 下面是我得到的错误: java.lang.UnsupportedOperationException:AdapterView中不支持addView(视图,LayoutParams) 我觉得这与我的xml文件有关,但我不太确定。 这是我的密码: public class StatisticsScreen extends ListActivity{

我希望下面的类显示一些文本视图/按钮/微调器,以及包含解析数据的ListView。但是,listview/adapter/addview会引起一些问题。 下面是我得到的错误:

java.lang.UnsupportedOperationException:AdapterView中不支持addView(视图,LayoutParams)

我觉得这与我的xml文件有关,但我不太确定。 这是我的密码:

public class StatisticsScreen extends ListActivity{

private List<Message> messages; 

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.statisticsscreen);

    loadFeed();

    //other textviews and listeners added
}

private void loadFeed() {

    try{
        BaseFeedParser parser = new BaseFeedParser();
        messages = parser.parse();
        List<String> titles = new ArrayList<String>(messages.size());
        for (Message msg : messages){
            titles.add(msg.getTitle());
        }
        ArrayAdapter<String> adapter = 
        new ArrayAdapter<String>(this, R.layout.xmldatarow,titles);

        this.setListAdapter(adapter);           
    } catch (Throwable t){
        Log.e("AndroidNews",t.getMessage(),t);
    }       
}
公共类统计屏幕扩展ListActivity{
私人列表消息;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.statisticsscreen);
loadFeed();
//添加了其他文本视图和侦听器
}
私有void loadFeed(){
试一试{
BaseFeedParser=新的BaseFeedParser();
messages=parser.parse();
列表标题=新的ArrayList(messages.size());
用于(消息消息:消息){
titles.add(msg.getTitle());
}
阵列适配器=
新的ArrayAdapter(this,R.layout.xmldatarow,titles);
这个.setListAdapter(适配器);
}捕获(可丢弃的t){
Log.e(“AndroidNews”,t.getMessage(),t);
}       
}
我的统计屏幕xml:


//添加了其他布局/文本视图/按钮
xmllayout xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <ListView android:id="@+id/xmllist" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/>
    </LinearLayout>

xmldatarow是一个简单的文本视图

编辑:

好的,我更新了一些文件,发现运行时异常错误:

您的内容必须具有属性为“android.R.id.list”的ListView

以下是更新的文件:

类别:

setContentView(R.layout.statisticsscreen);    
loadFeed();        
getListView().addHeaderView(View.inflate(this, R.layout.xmllayout, null));

private void loadFeed() {
    try{
        BaseFeedParser parser = new BaseFeedParser();
        messages = parser.parse();
        List<String> titles = new ArrayList<String>(messages.size());
        for (Message msg : messages){
            titles.add(msg.getDate());
        }
        ArrayAdapter<String> adapter = 
            new ArrayAdapter<String>(this, R.layout.xmldatarow,titles);
        this.setListAdapter(adapter);
    } catch (Throwable t){
        Log.e("AndroidNews",t.getMessage(),t);
    }       
}
setContentView(R.layout.statistics屏幕);
loadFeed();
getListView().addHeaderView(View.inflate(this,R.layout.xmllayout,null));
私有void loadFeed(){
试一试{
BaseFeedParser=新的BaseFeedParser();
messages=parser.parse();
列表标题=新的ArrayList(messages.size());
用于(消息消息:消息){
titles.add(msg.getDate());
}
阵列适配器=
新的ArrayAdapter(this,R.layout.xmldatarow,titles);
这个.setListAdapter(适配器);
}捕获(可丢弃的t){
Log.e(“AndroidNews”,t.getMessage(),t);
}       
}
我的statsscreenlayout stil拥有所有带有文本视图等的线性布局,我从中删除了以下内容:

<include  layout="@layout/xmllayout" android:id="@+id/xmllist" />

然后我的另外两个布局是一个简单的textview(xmldatarow)和一个listview(xmllayout)。 所以我想澄清一下,我的statsscreenlayout中没有任何listview或任何“include”


有什么建议吗?谢谢

您不能像那样将视图直接膨胀到列表视图中。我想您可能正在寻找
列表视图
addFooterView
方法。请确保在调用
setListAdapter
之前调用它们

编辑:详细说明:假设您想将
statsviewlayout
放在列表顶部:不要将
LinearLayout
直接放在
ListView
元素中(
ListView
不应该有子元素)。将其放在单独的xml文件中(例如,
statsview.xml
)在onCreate中执行以下操作:

getListView().addHeaderView(View.inflate(this, R.layout.statsview.xml, null));

也可以看到这个旧的。

谢谢,我在那里用编辑更新了我的帖子。你能再看看吗?非常感谢!
getListView().addHeaderView(View.inflate(this, R.layout.statsview.xml, null));