2013-05-17 2 views
0

오류를 없애려고하지만 잘못된 것이 아무것도 표시되지 않습니다. 사람도 그 문제를 얻을 수 있지만 레이아웃에 주어진 나쁜 ID이었다AchartEngine - 레이아웃의 AddView로 인해 NullPointerException이 발생합니다.

addView causes NullPointerException 내가 http://www.javaadvent.com/2012/12/achartengine-charting-library-for.html

public class LineGraph extends Activity { 

    private GraphicalView mChart; 
    private XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset(); 
    private XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); 
    private XYSeries mCurrentSeries; 
    private XYSeriesRenderer mCurrentRenderer; 

    private void initChart() { 
     mCurrentSeries = new XYSeries("Sample Data"); 
     mDataset.addSeries(mCurrentSeries); 
     mCurrentRenderer = new XYSeriesRenderer(); 
     mRenderer.addSeriesRenderer(mCurrentRenderer); 
    } 

    private void addSampleData() { 
     mCurrentSeries.add(1, 2); 
     mCurrentSeries.add(2, 3); 
     mCurrentSeries.add(3, 2); 
     mCurrentSeries.add(4, 5); 
     mCurrentSeries.add(5, 4); 
    } 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.graph); 
    } 

    protected void onResume() { 
     super.onResume(); 
     if (mChart == null) { 
      LinearLayout layout = (LinearLayout) findViewById(R.id.chart); 
      initChart(); 
      addSampleData(); 
      mChart = ChartFactory.getCubeLineChartView(this, mDataset, mRenderer, 0.3f); 

     // Here is the problem => layout.addView(mChart); 

     } else { 
      mChart.repaint(); 
     } 
    } 
} 

에서 간단한 코드 샘플을 가져다가 내 XML 파일 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     android:id="@+id/chart" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

    </LinearLayout> 

</LinearLayout> 

월 내가 명백한 실수를 놓치지 만 addView()가 nullPointerException을 준다면, 누군가 내가 잘못한 것을 말할 수 있겠는가?

편집 : 그리고 스택 트레이스 내 잘못이었다

05-17 14:37:05.830: E/SensorManager(6703): thread start 
05-17 14:37:06.885: E/SpannableStringBuilder(6703): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
05-17 14:37:06.885: E/SpannableStringBuilder(6703): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
05-17 14:37:28.800: E/AndroidRuntime(6703): FATAL EXCEPTION: main 
05-17 14:37:28.800: E/AndroidRuntime(6703): java.lang.RuntimeException: Unable to resume activity {com.smartdroid/com.smartdroid.LineGraph}: java.lang.NullPointerException 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2616) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2644) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2130) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.ActivityThread.access$600(ActivityThread.java:140) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.os.Looper.loop(Looper.java:137) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.ActivityThread.main(ActivityThread.java:4898) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at dalvik.system.NativeStart.main(Native Method) 
05-17 14:37:28.800: E/AndroidRuntime(6703): Caused by: java.lang.NullPointerException 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at com.smartdroid.LineGraph.onResume(LineGraph.java:64) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1188) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.Activity.performResume(Activity.java:5280) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2606) 
05-17 14:37:28.800: E/AndroidRuntime(6703):  ... 12 more 
05-17 14:38:45.465: E/SensorManager(8335): thread start 
05-17 14:38:46.630: E/SpannableStringBuilder(8335): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
05-17 14:38:46.630: E/SpannableStringBuilder(8335): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
+0

stacktrace from logcat please? –

+0

어리석은 것처럼 보일까봐 두려워하지만 내 응용 프로그램을 시작할 때 logcat의 모든 메시지를 의미합니까? – Jackyto

+0

logcat의 오류 스택 트레이스가 없습니다. 친절하게도 프로젝트를 청소 한 후에 한 번 시도하십시오 –

답변

0

얘들 아 :에서 onCreate()가 호출 될 때 나는 레이아웃 세트에서 다른 XML로 다른를 차트 레이아웃을 추가했습니다. 모든 것을 망쳐 놓고 죄송합니다. 친절하게 대해 주셔서 감사합니다.

관련 문제