在不同的场景下,可以根据需要继承Activity的子类。
如果应用程序界面只包括列表,则可以让应用程序继承ListActivity,
如果应用程序界面需要实现标签页效果,则可以让应用程序继承TabActivity
现在实现一个继承LauncherActivity的应用
LauncherActivity继承了ListActivity,本质是一个开发列表界面的Activity,不同的是,它开发的列表界面中的每个选项都对应一个Intent,
因此每当用户单击不同的列表项时,应用程序会自动启动对应的Activity。
使用时:需要设置Adapter,不同的是需要重写Intent intentForPosition(int position)方法,该方法根据不同列表返回不同的Intent
代码如下:
public class otherActivity extends LauncherActivity{
//定义两个activity
String[] names = {"设置程序参数","查看星级兵中"};
//定义两个activity对应实现的类
Class<?>[] clazzs = {preferencestest.class,ExpandableList.class};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,names);
//设置该窗口显示的列表所学的Adapter
setListAdapter(adapter);
}
//根据列表项返回指定Activity对应的Intent
@Override
public Intent intentForPosition(int position){
return new Intent(otherActivity.this,clazzs[position]);
}
}
效果图: