目前我有一个扩展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)