1

私のアプリでは、あるアクティビティから別のアクティビティにいくつかのインテント エクストラを送信します。しかし、一部のユーザーは、これらのデータが常にゼロであると報告しています。送信アクティビティで値が問題ないことがわかります。

送信アクティビティのコードは次のとおりです。

Intent intent = new Intent();
intent.setClass(waypointListView.this, addWaypointActivity.class);
intent.putExtra("latitude", String.format("%9.6f", globLatitude));
intent.putExtra("longitude", String.format("%9.6f", globLongitude));
startActivityForResult(intent, ACTIVITY_ADD_WAYPOINT);

そして、これは新しいアクティビティでどのように読み取られるかです:

Intent myIntent = getIntent();
String latitudeStr = myIntent.getExtras().getString("latitude");

try{
  globLatitude = Float.parseFloat(latitudeStr);
} catch(NumberFormatException nfe) {    
  globLatitude=0f;
}

String longitudeStr = myIntent.getExtras().getString("longitude");

try{
  globLongitude = Float.parseFloat(longitudeStr);
} catch(NumberFormatException nfe) {    
  globLongitude=0f;
}

両方のデバイスで正常に動作しますが、動作しないと不満を言う顧客が 3 人います (ビデオ録画に記録されています)。

助言がありますか?

4

1 に答える 1

0

getString の代わりに getFloatExtra() を使用するようにコードを変更して float に解析しようとしたところ、問題は解決しました。これははるかに効率的ですが、元のソリューションが一部のデバイスでは機能し、他のデバイスでは機能しなかった理由はまだわかりません.

ケースクローズ!

于 2012-06-25T19:28:36.630 に答える