相关疑难解决方法(0)

Android:将静态标头添加到ListActivity的顶部

目前我有一个扩展ListActivity类的类.我需要能够在列表上方添加一些始终可见的静态按钮.我试图从类中使用getListView()来获取ListView.然后我使用addHeaderView(View)将一个小布局添加到屏幕顶部.

Header.xml

<?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" >
    <Button 
        android:id="@+id/testButton"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:text="Income" 
        android:textSize="15dip"
        android:layout_weight="1" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在我设置适配器之前,我做了:

ListView lv = getListView();
lv.addHeaderView(findViewById(R.layout.header));
Run Code Online (Sandbox Code Playgroud)

除了从我的数据库中填充之外,这不会导致ListView发生任何事情.它上方没有按钮.

我尝试的另一种方法是将填充添加到ListView的顶部.当我这样做时它成功向下移动,但是,如果我在其上面添加任何内容,它会推送ListView.无论我做什么,似乎当我使用ListActivity时,我不能在ListView上面放几个按钮.

提前致谢.

synic,我之前试过你的建议.我只是为了理智而再试一次,按钮没有显示.下面是活动的布局文件和我在oncreate()中实现的代码.

//我的listactivity我试图添加标题

public class AuditActivity extends ListActivity {

    Budget budget;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        Cursor test;
        super.onCreate(savedInstanceState);
        setContentView(R.layout.audit);
        ListView lv = getListView();
        LayoutInflater infalter = getLayoutInflater();
        ViewGroup header = (ViewGroup) infalter.inflate(R.layout.header, lv, false);
        lv.addHeaderView(header);
        budget = new Budget(this);
        /*
        try {
            test = budget.getTransactions();
            showEvents(test);
        } finally {

        }
        */ …
Run Code Online (Sandbox Code Playgroud)

android header listactivity

46
推荐指数
3
解决办法
7万
查看次数

标签 统计

android ×1

header ×1

listactivity ×1