android - 无法通过 Intent 启动 ListActivity

标签 android android-activity android-intent listactivity

我有 2 个 Activity 。第一个 Activity 扩展 Activity,第二个 Activity 扩展 ListActivity

我需要从 Activity 类中调用 ListActivity

我尝试了以下方法。

Intent intent = new Intent(firstclassname.this, secongclassname.class);

startActivity(intent);

我在 list 文件中添加了一个条目,但它不起作用。

相同的代码适用于 Activity 类(如果第二个类扩展 ListActivity)

我得到了以下 Logcat 输出

04-26 15:51:48.235: INFO/ActivityManager(52): Starting activity: Intent { cmp=android.com.testHTML/.FindFilesByType }
04-26 15:51:48.395: ERROR/ArrayAdapter(3113): You must supply a resource ID for a TextView
04-26 15:51:48.395: WARN/dalvikvm(3113): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
04-26 15:51:48.405: ERROR/AndroidRuntime(3113): Uncaught handler: thread main exiting due to uncaught exception
04-26 15:51:48.414: ERROR/AndroidRuntime(3113): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.AbsListView.obtainView(AbsListView.java:1273)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.ListView.makeAndAddView(ListView.java:1658)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.ListView.fillDown(ListView.java:637)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.ListView.fillFromTop(ListView.java:694)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.ListView.layoutChildren(ListView.java:1516)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.AbsListView.onLayout(AbsListView.java:1112)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.view.View.layout(View.java:6569)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1108)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.LinearLayout.onLayout(LinearLayout.java:920)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.view.View.layout(View.java:6569)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.view.View.layout(View.java:6569)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.view.View.layout(View.java:6569)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.view.View.layout(View.java:6569)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.view.ViewRoot.performTraversals(ViewRoot.java:979)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1613)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.os.Looper.loop(Looper.java:123)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.app.ActivityThread.main(ActivityThread.java:4203)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at java.lang.reflect.Method.invokeNative(Native Method)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at java.lang.reflect.Method.invoke(Method.java:521)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at dalvik.system.NativeStart.main(Native Method)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113): Caused by: java.lang.ClassCastException: android.widget.LinearLayout
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340)
04-26 15:51:48.414: ERROR/AndroidRuntime(3113):     ... 30 more
04-26 15:51:48.436: INFO/Process(52): Sending signal. PID: 3113 SIG: 3
04-26 15:51:48.446: INFO/dalvikvm(3113): threadid=7: reacting to signal 3
04-26 15:51:48.446: ERROR/dalvikvm(3113): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
04-26 15:51:58.289: WARN/ActivityManager(52): Launch timeout has expired, giving up wake lock!
04-26 15:51:58.289: WARN/ActivityManager(52): Activity idle timeout for HistoryRecord{4391c898 android.com.testHTML/.FindFilesByType}

我做错了什么?

最佳答案

您的 Activity 已正确启动。

问题出在ArrayAdapter你正在使用。您没有提供 TextView 的资源 ID。

检查您使用的构造函数并提供正确的参数。

关于android - 无法通过 Intent 启动 ListActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789092/

相关文章:

java - 调用 finish() 方法后是否可以从另一个 Activity 重新启动该 Activity ?

android - 如何使用上下文菜单获取 Edittext 数据?

iphone - Android Activity/Intent vs. Qt Signal/Slot vs. iPhone ?/?

android - 在设备启动时从 init.rc 运行脚本时出现问题

Android服务器和客户端连接

android - 屏幕关闭时时髦的 android Activity 行为?

android - 在所有 android Activity 中保持变量值

android - 浏览器下载后打开我自己的 Activity

java - android studio 中的 Tabitem 绑定(bind)

Android 获取移动数据信号强度(API <17)