2015-12-15 25 views
1

我是android新手。我使用擴展ListActivity的類。如何在ListView父級實例AppCompatActivity?

public class ToLines extends ListActivity implements SimpleGestureFilter.SimpleGestureListener{} 

但是,在這個類中,我想從AppCompatActivity調用方法。所以我嘗試實例AppCompatActivity類是這樣的:

AppCompatActivity compat = new AppCompatActivity(); 
      compat.setSupportActionBar(toolbar); 
      compat.getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

但是,代碼顯示錯誤。這是我的logcat:

12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime: FATAL EXCEPTION: main 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime: Process: com.example.fahrudin.sjbapps, PID: 14754 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fahrudin.sjbapps/com.example.fahrudin.sjbapps.ToLines}: java.lang.NullPointerException 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2429) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2493) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.access$800(ActivityThread.java:166) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:102) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:136) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5584) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at java.lang.reflect.Method.invokeNative(Native Method) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Method.java:515) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at dalvik.system.NativeStart.main(Native Method) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime: Caused by: java.lang.NullPointerException 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:69) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:145) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:29) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:135) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:117) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:456) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:99) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at com.example.fahrudin.sjbapps.ToLines.onCreate(ToLines.java:86) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.Activity.performCreate(Activity.java:5447) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2393) 
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2493)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.access$800(ActivityThread.java:166)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:102)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:136)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5584)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at java.lang.reflect.Method.invokeNative(Native Method)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Method.java:515)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)  
12-15 12:00:20.923 14754-14754/com.example.fahrudin.sjbapps E/AndroidRuntime:  at dalvik.system.NativeStart.main(Native Method)  

當我的類擴展ListView時,應該怎樣調用AppCompatActivity的方法?

+0

您從不創建「活動」實例。 – Piyush

回答

1

我認爲你應該擴展你的主類與AppCompatActivity和使用Listfragment而不是ListActivity和你會達到你想要的。

1

您正在創建一個完全錯誤的Activity類的實例。您應該像這樣使用

AppCompatActivity appActivity = (AppCompatActivity)ToLines.this 
appActivity.setSupportActionBar(toolbar); 
appActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
+0

是這個代碼(AppCompatActivity)ToLines.this以「;」結尾? 當我嘗試你的代碼,這段代碼(AppCompatActivity)ToLines.this;有紅線並寫上「不可轉換類型」 –

+0

你應該以'';'' – Piyush

+0

爲結尾,我已經加了「;」然後得到那條紅線寫「不可轉換類型」 –

相關問題