刚刚开始学习android的时候,每一个小的例子都需要新建一个新的工程,后面工程多了,感觉手机上面的软件安装也多了。寻找起来有时候感觉也不方便。
所以想通过一个listview,把所有的例子都显示在里面。这样就是一个app,一个工程,里面不断的增加新的例子。感觉整洁方便的多。
下面是这个ListActivity的代码:
package com.wyd.study;
import java.util.ArrayList;
import com.wyd.study.ActivityLifeCycle.FirstActivity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
public class MainActivity extends ListActivity {
private static final String TAG = "MainActivity";
private ArrayList<Item> mItems = new ArrayList<Item>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DBG.log(TAG, DBG._FUNC_());
setItems();
ArrayAdapter<Item> adapter = new ArrayAdapter<MainActivity.Item>(this,
android.R.layout.simple_list_item_1, mItems); //如果没有重新adapter的getView,显示的时候是item的toString,所以需要重写toString
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
ListAdapter adapter = l.getAdapter();
Item item = (Item) adapter.getItem(position);
startActivity(new Intent(MainActivity.this, item.cls));
}
private class Item {
public String name;
public Class<?> cls;
public Item(String name, Class<?> cls) {
this.name = name;
this.cls = cls;
}
@Override
public String toString() {
return name;
}
}
private void setItems() {
mItems.add(new Item("ActivityLifeCycle", FirstActivity.class)); //如果需要新的例子,直接在这里增加就行了
<span style="white-space:pre"> </span>.......
}
}