0

問題のある部分は次のとおりです。

public class MainActivity extends BaseActivity implements
    OnContactsInteractionListener, OnAdModeListener {

private SharedPreferences sp;
private SharedPreferences.Editor ed;

...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    sp = this.getSharedPreferences("me.name",
            MODE_PRIVATE);
    ed = sp.edit();



private boolean parseIntent(Intent intent) {
    if (intent.getAction().equals("SHOW_PHONE_CALL_LIST")
            && sp.getBoolean("SHOW_SECOND", false)) {
        try {
            goToPage(1);
            int random = sp.getInt("RANDOM", 9999);
            counterAdsAndLoad("2", random);
            //ed is editor object
            ed.putString("MP3PATH", "");
            ed.putBoolean("SHOW_SECOND", false);
            ed.commit()
            return true;


        } catch (Exception e) {
            e.printStackTrace();

        }
    }
    ed.remove("RANDOM").commit();
    return false;

}

不当に悪い動作のためにデバッグしたところ、次のことがわかりました: if 条件は予想どおり true で、2 秒後にcommit()プログラムは にジャンプしreturn falseます。

その理由は何ですか?

4

2 に答える 2

0

これに従っていることを確認してください。

SharedPrefrences 参照を作成します。

SharedPreferences prefs = this.getSharedPreferences("com.example.app", Context.MODE_PRIVATE);

SharedPreferncesEditor の参照を作成する

SharedPreferences.Editor editor = prefs.edit();

エディタに値を入力

editor.putBoolean("SHOW_SECOND", true); 
editor.putString("MP3_PATH", "");

最後に編集をコミットします

editor.commit();
于 2013-10-23T09:44:05.253 に答える