私のアプリケーションから最大速度値(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}
行135は次のとおりです。private float speedvalue =(float)Double.parseDouble(mHighestSpeedNumber.toString()); 私は、その値がどのように渡されるかを少し詳しく説明します。ありがとう – user887119
ああ、はい。また、 'mHighestSpeedNumber'は' GraphCanvas'です(あなたのコードサンプルの 'private GraphCanvas mHighestSpeedNumber;')。 nullでないとしても、(GraphCanvasが何であれ) 'GraphCanvas'インスタンスのString表現が浮動小数点数になることは非常に疑問です。 – Femi