先建立 Activity:
public class GoToListActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
this.setListAdapter(this.createArrayAdapter());
ListView lv = (ListView) this.findViewById(android.R.id.list);
// 指定的 item 緊貼的上緣,如下圖一
lv.setSelection(5);
// 上方多出指定的空間,如下圖二
lv.setSelectionFromTop(5, 20);
}
private ArrayAdapter<String> createArrayAdapter() {
List<String> list = new ArrayList<String>();
for (int i = 1; i <= 29; i++) {
list.add("第 " + i + " 關");
}
return new ArrayAdapter<String>(this, R.layout.list_item,
list.toArray(new String[] {}));
}
}關鍵在於 ListView.setSelection(...) 或者 ListView.setSelectionFromTop(...)。
主要 layout 設定檔 listview.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" > <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@android:id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/empty" /> </LinearLayout>最後再加上 ListView 的元件 UI 設定檔 list_item.xml:
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20px" />結果如下:


沒有留言:
張貼留言