我怎樣才能實現一個文件瀏覽器,而不用exteniding listactivity類?我試圖在我的應用程序中添加一個選項來選擇文件瀏覽器來選擇自己的文件來使用,而不是默認的。我做了一個按鈕,移動到文件瀏覽器列表,但是當我使用代碼setListAdapter(ArrayAdapter);
它說我需要擴展ListActivity。當我這樣做時,我完全運行應用程序時遇到問題。任何想法我做錯了什麼?我如何不必擴展列表活動,因爲我的應用程序不僅僅是一個列表,它只需要使用列表。謝謝!如何實現需要擴展活動的文件瀏覽器代碼?
UPDATE-logcat的
01-15 09:39:22.399: D/AndroidRuntime(317): Shutting down VM
01-15 09:39:22.409: W/dalvikvm(317): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
01-15 09:39:22.409: E/AndroidRuntime(317): Uncaught handler: thread main exiting due to uncaught exception
01-15 09:39:22.429: E/AndroidRuntime(317): java.lang.IllegalStateException: Could not execute method of the activity
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.View$1.onClick(View.java:2031)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.View.performClick(View.java:2364)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.View.onTouchEvent(View.java:4179)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.widget.TextView.onTouchEvent(TextView.java:6541)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.View.dispatchTouchEvent(View.java:3709)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-15 09:39:22.429: E/AndroidRuntime(317): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
01-15 09:39:22.429: E/AndroidRuntime(317): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
01-15 09:39:22.429: E/AndroidRuntime(317): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.os.Handler.dispatchMessage(Handler.java:99)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.os.Looper.loop(Looper.java:123)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.app.ActivityThread.main(ActivityThread.java:4363)
01-15 09:39:22.429: E/AndroidRuntime(317): at java.lang.reflect.Method.invokeNative(Native Method)
01-15 09:39:22.429: E/AndroidRuntime(317): at java.lang.reflect.Method.invoke(Method.java:521)
01-15 09:39:22.429: E/AndroidRuntime(317): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
01-15 09:39:22.429: E/AndroidRuntime(317): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
01-15 09:39:22.429: E/AndroidRuntime(317): at dalvik.system.NativeStart.main(Native Method)
01-15 09:39:22.429: E/AndroidRuntime(317): Caused by: java.lang.reflect.InvocationTargetException
01-15 09:39:22.429: E/AndroidRuntime(317): at phil.H.com.HIITActivity.changesong(HIITActivity.java:132)
01-15 09:39:22.429: E/AndroidRuntime(317): at java.lang.reflect.Method.invokeNative(Native Method)
01-15 09:39:22.429: E/AndroidRuntime(317): at java.lang.reflect.Method.invoke(Method.java:521)
01-15 09:39:22.429: E/AndroidRuntime(317): at android.view.View$1.onClick(View.java:2026)
01-15 09:39:22.429: E/AndroidRuntime(317): ... 21 more
01-15 09:39:22.429: E/AndroidRuntime(317): Caused by: java.lang.NullPointerException
01-15 09:39:22.429: E/AndroidRuntime(317): at phil.H.com.HIITActivity.getDir(HIITActivity.java:216)
01-15 09:39:22.429: E/AndroidRuntime(317): ... 25 more
01-15 09:39:22.509: I/Process(59): Sending signal. PID: 317 SIG: 3
01-15 09:39:22.509: I/dalvikvm(317): threadid=7: reacting to signal 3
01-15 09:39:22.609: I/dalvikvm(317): Wrote stack trace to '/data/anr/traces.txt'
01-15 09:44:22.559: I/Process(317): Sending signal. PID: 317 SIG: 9
01-15 09:44:22.659: E/JavaBinder(59): !!! FAILED BINDER TRANSACTION !!!
01-15 09:44:22.680: I/WindowManager(59): WIN DEATH: Window{44debcc8 phil.H.com/phil.H.com.HIITActivity paused=false}
01-15 09:44:22.680: I/ActivityManager(59): Process phil.H.com (pid 317) has died.
01-15 09:44:22.939: I/UsageStats(59): Unexpected resume of com.android.launcher while already resumed in phil.H.com
01-15 09:44:23.559: W/InputManagerService(59): Got RemoteException sending setActive(false) notification to pid 317 uid 10029
我相信,你可以添加ListView,你可以嘗試setAdapter的ListView。 –
你是什麼意思「當我這樣做,我有一個問題完全運行應用程序」?一個'ListActivity'的行爲就像任何其他'Activity'一樣,可以包含你想要的任何佈局。唯一的區別是它需要你的佈局在'android:id = @ android:id/list'中包含'ListView',並且內置了用於填充'ListView'的方法。 – Ole
它說它已經意外關閉了 –