如何将addHeaderView添加到列表视图?

时间:2012-02-19 01:13:47

标签: android listview

我想在列表中添加标题。这就是我现在拥有的:

    header = "My header";
    txtV = (TextView) buildHeader(header);
    lv.addHeaderView(txtV );
    setListAdapter(new ArrayAdapter<String>(this, 
                android.R.layout.simple_list_item_1, mTitle));  

private View buildHeader(String header) {
    TextView txt=new TextView(this);
    txt.setClickable(false);
    txt.setGravity(CENTER_HORIZONTAL);
    txt.setText(header); 
    return txt;
}

这是有效的。我现在的问题是:1标题没有固定在顶部,它滚动关闭。 2标题是可点击的,它不应该是。标题也是listAdapter中的位置0,它会丢弃计数。 txtV被带出,所以我可以根据需要更改标题。

感谢

2 个答案:

答案 0 :(得分:0)

我认为你需要这样做:

View myHeaderView = ...; // your view
lv.setHeaderView(myHeaderView);

你的代码所做的是试图告诉ListView将自己用作其标题,这显然不起作用:)第二个参数是与标题相关的数据,通常只需要如果你的标题是可点击的。

答案 1 :(得分:0)

如果您正在执行这样的简单列表,请在setListAdapter中定义标题,其中您有单词&#34; titles&#34;。要小心,因为您需要使用char序列而不是字符串。此代码有效:

String[] header ={"my header"}; 
setListAdapter(new ArrayAdapter<String>(this,              
            android.R.layout.simple_list_item_1, header)); 

另外,请确保您的main.xml文件正确无误。我刚从这里复制了第一个:http://developer.android.com/reference/android/app/ListActivity.html