1

配列インデックス値ごとに IF ステートメントを配置しようとしています。値は MultiSelectList 設定からのものです。しかし、私はそれを行うのに問題があります。これが私のコードです。助けてください。

public void displaySelectedDoa(View view) {

mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
Set<String> selectionsDoa = mySharedPreferences.getStringSet("selectedDoaKey", null);
String[] selectedDoa = selectionsDoa.toArray(new String[]{});

if (selectedDoa == "0") { // if index number = 0
    //do something at here
}
if (selectedDoa == "1") { // if index nuber = 1
    //do here
}

}

これは設定フラグメントからの私の MultiSelectList です

<MultiSelectListPreference
    android:title="Select Doa"
    android:summary="select your doa"
    android:key="selectedDoaKey"
    android:entries="@array/select_doa"
    android:entryValues="@array/select_doa_value"/>
4

2 に答える 2

0

selectedDoa は単一の文字列値ではなく配列であるため、選択したすべてのインデックスを確認する必要があります。これを試してください

for (int i=0;i<selectedDoa.length;i++){
        String index=selectedDoa[i];
        switch (index){
            case "0":
                //do what zero does
                continue;
            case "1":
                //do what one does
                continue;
        }
    }

私たちの友人Vaidenが言ったように、スイッチストリングが問題である場合

それらを

if(index.equals("0"){
//do what zero does
}
else if(index.equals("1"){
//do what one does
}
于 2016-09-04T15:16:30.147 に答える