源程序:
public class OtherActivity extends LauncherActivity
{
//定义两个Activity的名称
String[] names = {"设置程序参数" , "查看星际兵种"};
//定义两个Activity对应的实现类
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(OtherActivity.this , clazzs[position]);
}
}
------------------------------------------------------------------------------
运行时候出现异常03-09 13:44:40.826: E/AndroidRuntime(328): Uncaught handler: thread main exiting due to uncaught exception
03-09 13:44:40.826: E/AndroidRuntime(328):
java.lang.ClassCastException: android.widget.ArrayAdapter
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.app.LauncherActivity.onListItemClick(LauncherActivity.java:343)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.app.ListActivity$2.onItemClick(ListActivity.java:312)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.widget.ListView.performItemClick(ListView.java:3246)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1635)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.os.Handler.handleCallback(Handler.java:587)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.os.Handler.dispatchMessage(Handler.java:92)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.os.Looper.loop(Looper.java:123)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.app.ActivityThread.main(ActivityThread.java:4203)
03-09 13:44:40.826: E/AndroidRuntime(328):
at java.lang.reflect.Method.invokeNative(Native Method)
03-09 13:44:40.826: E/AndroidRuntime(328):
at java.lang.reflect.Method.invoke(Method.java:521)
03-09 13:44:40.826: E/AndroidRuntime(328):
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
03-09 13:44:40.826: E/AndroidRuntime(328):
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
03-09 13:44:40.826: E/AndroidRuntime(328):
at dalvik.system.NativeStart.main(Native Method)
03-09 13:44:40.846: I/dalvikvm(328): threadid=7: reacting to signal 3
03-09 13:44:40.846: E/dalvikvm(328): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
备注:单独启动PreferenceActivityTest.class和 ExpandableListActivityTest.class没有问题
public class OtherActivity extends LauncherActivity
{
//定义两个Activity的名称
String[] names = {"设置程序参数" , "查看星际兵种"};
//定义两个Activity对应的实现类
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(OtherActivity.this , clazzs[position]);
}
}
------------------------------------------------------------------------------
运行时候出现异常03-09 13:44:40.826: E/AndroidRuntime(328): Uncaught handler: thread main exiting due to uncaught exception
03-09 13:44:40.826: E/AndroidRuntime(328):
java.lang.ClassCastException: android.widget.ArrayAdapter
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.app.LauncherActivity.onListItemClick(LauncherActivity.java:343)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.app.ListActivity$2.onItemClick(ListActivity.java:312)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.widget.ListView.performItemClick(ListView.java:3246)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1635)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.os.Handler.handleCallback(Handler.java:587)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.os.Handler.dispatchMessage(Handler.java:92)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.os.Looper.loop(Looper.java:123)
03-09 13:44:40.826: E/AndroidRuntime(328):
at android.app.ActivityThread.main(ActivityThread.java:4203)
03-09 13:44:40.826: E/AndroidRuntime(328):
at java.lang.reflect.Method.invokeNative(Native Method)
03-09 13:44:40.826: E/AndroidRuntime(328):
at java.lang.reflect.Method.invoke(Method.java:521)
03-09 13:44:40.826: E/AndroidRuntime(328):
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
03-09 13:44:40.826: E/AndroidRuntime(328):
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
03-09 13:44:40.826: E/AndroidRuntime(328):
at dalvik.system.NativeStart.main(Native Method)
03-09 13:44:40.846: I/dalvikvm(328): threadid=7: reacting to signal 3
03-09 13:44:40.846: E/dalvikvm(328): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
备注:单独启动PreferenceActivityTest.class和 ExpandableListActivityTest.class没有问题
需要什么权限?<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.crazyit.activity"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".OtherActivity"
android:label="@string/app_name">
<!-- 指定该Activity是程序的入口 -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 定义两个Activity -->
<activity android:name=".ExpandableListActivityTest"
android:label="查看星际兵种">
</activity>
<activity android:name=".PreferenceActivityTest"
android:label="设置程序参数">
</activity>
</application>
</manifest>
你的这个程序好像和这里的一样:
http://blog.csdn.net/jasonzhou613/article/details/7574102