0

このコードを削除するにはどうすればよいですか?

    prefsDisplay = getSharedPreferences("spinnerSelection",
            Context.MODE_PRIVATE);
    prefsPlan = getSharedPreferences("spinnerSelection1",
            Context.MODE_PRIVATE);

    if (prefsDisplay.getInt("spinnerSelection", 0) == 0) {
        s1 = 0;
    } else if (prefsDisplay.getInt("spinnerSelection", 0) == 1) {
        s1 = 1;
    } else if (prefsDisplay.getInt("spinnerSelection", 0) == 2) {
        s1 = 2;
    } else if (prefsDisplay.getInt("spinnerSelection", 0) == 3) {
        s1 = 3;
    } else {
        s1 = 0;
        DP.BreakdownMonths = 0;
    }

    if (prefsPlan.getInt("spinnerSelection1", 0) == 0) {
        s2 = 0;
    } else if (prefsPlan.getInt("spinnerSelection1", 0) == 1) {
        s2 = 1;
    } else if (prefsPlan.getInt("spinnerSelection1", 0) == 2) {
        s2 = 2;
    } else {
        s2 = 0;
        DP.PlanType = "highint";
    }

基本的に、私がしていることは、アプリがログインするときに、SharedPreferencesをチェックすることです。値が見つかった場合は割り当て、それ以外の場合はデフォルトで値になります。

4

2 に答える 2

3

以下は、コードが行うこととまったく同じです。共有設定に割り当てられた値を使用し、空の場合は 0 を割り当て、さらに DP も割り当てます。

prefsDisplay = getSharedPreferences("spinnerSelection",
        Context.MODE_PRIVATE);
prefsPlan = getSharedPreferences("spinnerSelection1",
        Context.MODE_PRIVATE);

s1 = prefsDisplay.getInt("spinnerSelection", -1 );
if( s1 < 0 ) { 
    s1 = 0;
    DP.BreakdownMonths = 0;
}

s2 = prefsPlan.getInt("spinnerSelection1", -1 );
if( s2 < 0 ) {
    s2 = 0;
    DP.PlanType = "highint";
}
于 2012-12-06T03:29:25.583 に答える
1

switchとを使用caseしてそれぞれの if ステートメントを定義し、 を使用defaultして if ステートメントのいずれにも一致しない場合に代入します。

例:

   int month = 8;
    String monthString;
    switch (month) {
        case 1:  monthString = "January";
                 break;
        case 2:  monthString = "February";
                 break;
        case 3:  monthString = "March";
                 break;
        case 4:  monthString = "April";
                 break;
        case 5:  monthString = "May";
                 break;
        case 6:  monthString = "June";
                 break;
        case 7:  monthString = "July";
                 break;
        case 8:  monthString = "August";
                 break;
        case 9:  monthString = "September";
                 break;
        case 10: monthString = "October";
                 break;
        case 11: monthString = "November";
                 break;
        case 12: monthString = "December";
                 break;
        default: monthString = "Invalid month";
                 break;
    }
    System.out.println(monthString);
于 2012-12-06T03:29:05.223 に答える