2017-10-22 10 views
0

私はActivity 1からActivity 2に計算値を渡すために、intent.putExtrabuttonに縛られています)とgetIntent (onCreate)の方法を使用しています。テスト中に、Activity 3からActivity 2に後ろをナビゲートすると、この変数のデフォルト値は、onCreateメソッドでコードされているように0になることがわかりました。後方をナビゲートするときに「意図を取得する」の価値を保持する方法は?

vol = getIntent().getDoubleExtra("VOL_KEY", 0); 

私はActivity 3から後方Activity 2に移動したときただし、この値を保持したいです。 iOSのバージョンでは、両方向でうまくいくように見えるsegueメソッドでこの機能を実現しました。 Activityから1に2を(またはgetIntentを1に戻して)渡された値を保持する方法はありますか?Activity 2からActivity 3に戻ると後続の計算に使用できるようになりますか?

+0

'startActivityForResult' – EpicPandaForce

答えて

1
//use Shared Preferences after getting the value from activity one to activity two. In activity two do this. 

SharedPreferences.Editor editor = getSharedPreferences("my_sharedPref", MODE_PRIVATE).edit(); 
editor.putDouble("VOL_KEY", vol); 
editor.apply(); 
//this will save the value 

//to retrive this value do below 

SharedPreferences prefs = getSharedPreferences("my_sharedPref", MODE_PRIVATE); 
double volValue= prefs.getDouble("VOL_KEY", null); 
//in place of null you can use the default value 
+0

.putと.getステートメントは、floatでは使用できますが、doubleでは使用できません。これは私がAndroid Studio 2.3.3のインストールに付属しているオープンなJDKライブラリを使用しているので私の終わりにある可能性があります。私はフロートを試して、これがうまくいくかどうかを見ます。 –

0

異なる技術を試し、私は、各アクティビティのマニフェストXMLファイルに次のコードを追加することは、所望の機能を達成することを見出されているが:

アンドロイド:alwaysRetainTaskState =「真」
アンドロイド:launchMode =を"singleInstance"

関連する問題