2011-03-21 105 views
0

我想在我的Android應用程序中繪製自定義形狀。我使用這個http://bestsiteinthemultiverse.com/2008/11/android-graphics-example/的例子,如果我唯一擁有的是這個組件,我可以使用它來處理我的應用程序。但是,我需要使用自定義形狀和2個TextViews和2個按鈕。每當我嘗試在應用程序中使用按鈕和TextView創建此組件時,應用程序都會失敗。android中的自定義組件問題

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content"> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     <LinearLayout android:orientation="horizontal" 
      android:layout_width="fill_parent" android:layout_height="wrap_content"> 
      <Button android:id="@+id/back" android:layout_width="160sp" 
       android:textSize="20sp" android:layout_height="wrap_content" 
       android:text="Previous" /> 
      <Button android:id="@+id/next" android:layout_width="160sp" 
       android:textSize="20sp" android:layout_height="wrap_content" 
       android:text="Next" /> 
     </LinearLayout> 
     <TextSwitcher android:id="@+id/titles" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" /> 
     <TextSwitcher android:id="@+id/data" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" /> 
     <com.android.example.DemoView android:id="@+id/demoView" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" /> 
     <Button android:id="@+id/info" android:layout_width="fill_parent" 
      android:textSize="20sp" android:layout_height="wrap_content" 
      android:text="About this App" /> 
    </LinearLayout> 
</ScrollView> 

這就是我的佈局XML文件,我有點懷疑它是這個問題。什麼可能導致錯誤?

這是LogCar錯誤日誌。

03-21 19:34:08.810:ERROR/AndroidRuntime(608):致命異常:主
03-21 19:34:08.810:ERROR/AndroidRuntime(608):了java.lang.RuntimeException:無法啓動活動ComponentInfo {android.project.realtimedata/android.project.realtimedata.ViewData}:java.lang.NullPointerException
03-21 19:34:08.810:錯誤/ AndroidRuntime(608):at android.app.ActivityThread .performLaunchActivity(ActivityThread.java:2663)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
03-21 19:34 :08.810:錯誤/ AndroidRuntime(60 8):at android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at android.app.ActivityThread $ H.handleMessage(ActivityThread。 java:2033)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at android.os.Handler.dispatchMessage(Handler.java:99)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at android.os.Looper.loop(Looper.java:123)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at android.app.ActivityThread.main(ActivityThread.java :4627)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at java.lang.reflect.Method.invokeNative(Native Method)
03-21 19:34:08.810:ERROR/AndroidRu ntime(608):at java.lang.reflect.Method.invoke(Method.java:521)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at dalvik.system.NativeStart.main(Native Method)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):原因:java .lang.NullPointerException
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at android.project.realtimedata.ViewData.onCreate(ViewData.java:77)
03-21 19:34:08.810: ERRO R/AndroidRuntime(608):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):at android.app.ActivityThread.performLaunchActivity(ActivityThread的.java:2627)
03-21 19:34:08.810:ERROR/AndroidRuntime(608):11 ...更多

+0

在應用程序崩潰後粘貼logcat。 – Cristian 2011-03-21 18:51:20

+0

添加logcat輸出,很難猜測沒有 – Franco 2011-03-21 19:07:22

+0

,所以你有一個致命的例外...由'ViewData.java'的第77行拋出'NullPointerException'引起。你可以發佈你的'onCreate()'方法並告訴我們哪一行是第77行? – bigstones 2011-03-21 20:34:04

回答

0

我懷疑DemoView是給你的問題。嘗試刪除它並從那裏去。對不起,這不是一個完整的答案。