您可以执行以下操作或将文本视图作为标题添加到列表视图中
引用自文档
ListActivity(ListFragment 类似)具有默认布局,由屏幕中央的单个全屏列表组成。但是,如果您愿意,您可以通过设置您自己的视图布局来自定义屏幕布局setContentView()
在 onCreate() 中. To do this, your own view MUST contain a
具有 id 的 ListView` 对象“@android:id/列表”(或者如果在代码中则列出)
活动_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<fragment android:name="com.example.listfragment.MyFragment"
android:id="@+id/frag"
android:layout_above="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
MyFragment.java
public class MyFragment extends ListFragment {
String names[] ={"A","B","C"};
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View myFragmentView = inflater.inflate(R.layout.list_frag, container, false);
TextView tv = (TextView) myFragmentView.findViewById(R.id.textView1);
tv.setText("My Header");
setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,names));
return myFragmentView;
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// on click display the item in toast
Toast.makeText(getActivity(), (String)l.getItemAtPosition(position), Toast.LENGTH_SHORT).show();
}
}
列表片段.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="TextView" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true" >
</ListView>
</RelativeLayout>
快照
编辑:如果您希望文本视图滚动
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:text="TextView" />
</RelativeLayout>
调用 setListAdapter 之前
View view = inflater.inflate(R.layout.text, null);
TextView textinlfated = (TextView) view.findViewById(R.id.textView1);
ListView lv = getListView();
textinlfated.setText("TextView scrolls");
lv.addHeaderView(view);