0

私のアプリでは、SharedPreferencesを読み込めないバグが発生します。これが発生する理由は、アプリケーションが完全に強制終了された場合(タスクキラーまたは電話の再起動)、電話がすべてを再度ロードできないためです。今のところ私はこのテクニックを使用しています:

if ((sharedPreferences.getString("EXA1", "")) == "Example1"){

//do something
 }
else if ((sharedPreferences.getString("EXA1", "")) == "Example2"){

 //do something
 }
 else if ((sharedPreferences.getString("EXA1", "")) == "Example3"){

 //do something
}
else{
//do nothing
}

私は他に約75のifステートメントを取得したので、アプリが強制終了された後、私の電話はそれらをロードすることを拒否します。ロードしてから何かを行うためのより効率的な方法はありますか?(注:SharedPreferenceを1つ以上取得しました)

4

1 に答える 1

2

strObject.equals( "MatchString")メソッドを使用します

見る:

if ((sharedPreferences.getString("EXA1", "")).equals("Example1")){
                                            ^^^^^^^^^^^^^^^^^^^^

//do something
 }
else if ((sharedPreferences.getString("EXA1", "")).equals("Example2")){

 //do something
 }
 else if ((sharedPreferences.getString("EXA1", "")).equals("Example3")){

 //do something
}
else{
//do nothing
}

==演算子を使用して2つのStringオブジェクトを比較することはできません。これは、プリミティブデータ型ではないためです。

于 2012-07-21T15:35:51.627 に答える