LauncherActivity本质上是一个开发列表界面的activity,继承自ListActivity
与普通列表界面的不同:开发出来的列表界面中的每个列表项都对应一个Intent,当用户单机每个列表项时会自动启动对应的activity
程序实例
/**
* 此文件是程序入口文件,这是一个LauncherActivity的继承类,证明此文件的每个列表文件都对应
* 一个Intent,单击列表时出现下一个activity
*/
public class MainActivity extends LauncherActivity
{
//定义两个Activity的名称
String[] names = {"设置程序参数" , "查看星际兵种"};
//定义两个Activity对应的实现类
//列表中就两个内容,单击列表项目时分别调用哪个类用的,一个是preference另一个是expandblelist
Class<?>[] clazzs = {PreferenceActivityTest.class
, ExpandableListActivityTest.class};
@Override
public 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(MainActivity.this , clazzs[position]);
}
}
布局文件
<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" >
<ListView android:id="@+id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0000ff"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
</RelativeLayout>