2011-08-10 6 views
0

私のアプリケーションから最大速度値(GPS経由で記録されたもの)を使用し、その値をアナログゲージビュー出力に使用する際に問題が発生します。実行中は、FCを「ビューを展開できません」というメッセージが表示されます。私は問題なく静的な値を入力することができます。私は別のビュー(GraphCanvas.java)からの最大速度値(mHighestSpeedNumber)をうまく動作するグラフに使用しようとしています。アクティビティを呼び出すときに、私はその後、近い力を得るこれを実行したら表示でのGPS値の使用

private float speedvalue = (float) Double.parseDouble(mHighestSpeedNumber.toString()); 
private float handTarget = speedvalue; 

:私は価値を置くしたいと思います(Analogspeed.java)で、私は構文エラーを私の変数をインポートしていないし、次のコードを配置します。

ご協力いただければ幸いです。私は多くのシナリオを試し、まだ解決策なしで検索しました。

私は問題の一部が、double値を必要とするfloatに変換している可能性があります。他の情報が必要な場合はお知らせください。

おかげ

GraphCanvas.java

mHighestSpeedNumber = mUnits.conversionFromMetersPerSecond(calc.getMaxSpeed()); 

Analogspeed.java

package com.datamonkey.android.test; 

import java.text.DecimalFormat; 
import java.text.NumberFormat; 

import com.datamonkey.android.test.actions.utils.GraphCanvas; 
import com.datamonkey.android.test.actions.utils.StatisticsCalulator; 
import com.datamonkey.android.test.actions.Statistics; 
import com.datamonkey.android.test.util.UnitsI18n; 

import android.view.View; 

public final class AnalogSpeed extends View { 

private static final String TAG = AnalogSpeed.class.getSimpleName(); 

private GraphCanvas mHighestSpeedNumber; 

// scale configuration 
private static final int totalNicks = 65; 
// number values for gauge 
private static final float degreesPerNick = 270.0f/totalNicks;  
private static final int centerDegree = 0; // the one in the top center (12 o'clock) 
private static final int minDegrees = 0; 
private static final int maxDegrees = 200; 

// hand dynamics -- all are angular expressed in F degrees 
private boolean handInitialized = false; 

// Starting Position of hand 
private float handPosition = centerDegree; 


private float speedvalue = (float) Double.parseDouble(mHighestSpeedNumber.toString()); 

private float handTarget = speedvalue; 

Logcat

08-09 21:52:29.511: INFO/ActivityManager(60): Starting activity: Intent { dat=content://com.datamonkey.android.test/tracks/1 cmp=com.datamonkey.android.test/.actions.Statistics } 
08-09 21:52:29.719: DEBUG/AndroidRuntime(363): Shutting down VM 
08-09 21:52:29.719: WARN/dalvikvm(363): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363): FATAL EXCEPTION: main 
08-09 21:52:29.790: ERROR/AndroidRuntime(363): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.datamonkey.android.test/com.datamonkey.android.test.actions.Statistics}: android.view.InflateException: Binary XML file line #16: Error inflating class com.datamonkey.android.test.AnalogSpeed 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.os.Looper.loop(Looper.java:123) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at java.lang.reflect.Method.invoke(Method.java:521) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at dalvik.system.NativeStart.main(Native Method) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363): Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class com.datamonkey.android.test.AnalogSpeed 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.Activity.setContentView(Activity.java:1647) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at com.datamonkey.android.test.actions.Statistics.onCreate(Statistics.java:196) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  ... 11 more 
08-09 21:52:29.790: ERROR/AndroidRuntime(363): Caused by: java.lang.reflect.InvocationTargetException 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at com.datamonkey.android.test.AnalogSpeed.<init>(AnalogSpeed.java:135) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at java.lang.reflect.Constructor.constructNative(Native Method) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  ... 22 more 
08-09 21:52:29.790: ERROR/AndroidRuntime(363): Caused by: java.lang.NullPointerException 
08-09 21:52:29.790: ERROR/AndroidRuntime(363):  ... 26 more 
08-09 21:52:30.020: WARN/ActivityManager(60): Force finishing activity com.datamonkey.android.test/.actions.Statistics 
08-09 21:52:30.028: WARN/ActivityManager(60): Force finishing activity com.datamonkey.android.test/.viewer.LoggerMap 
08-09 21:52:30.589: WARN/ActivityManager(60): Activity pause timeout for HistoryRecord{44f82078 com.datamonkey.android.test/.actions.Statistics} 

答えて

0

あなたは、nullポインタ例外があります。ライン135は、どのようなもの?

編集:私の期待は、mHighestSpeedNumberがヌルであることです。これは、エラーが発生している場所です。

+0

行135は次のとおりです。private float speedvalue =(float)Double.parseDouble(mHighestSpeedNumber.toString()); 私は、その値がどのように渡されるかを少し詳しく説明します。ありがとう – user887119

+0

ああ、はい。また、 'mHighestSpeedNumber'は' GraphCanvas'です(あなたのコードサンプルの 'private GraphCanvas mHighestSpeedNumber;')。 nullでないとしても、(GraphCanvasが何であれ) 'GraphCanvas'インスタンスのString表現が浮動小数点数になることは非常に疑問です。 – Femi

関連する問題