1

配列インデックス値ごとにIFステートメントを配置しようとしています。値はMultiSelectListプリファレンスからの値です。しかし、私はそれを行う上で問題を抱えています、ここで私のコードは私を助けてください。MulitSelectListプリファレンスの各配列インデックス値にIFステートメントを追加する

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 
} 

}

これは、あなたが選択されたすべてのインデックスをチェックする必要がありますので、好みのフラグメントから

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

答えて

0

に置き換えるには、これを試してみてください。ストリングスと

CharSequence[] selectedDoa = selectionsDoa.toArray(new String[]{}); 
    for (int i = 0; i < selectedDoa.length; i++){ 
     String index = selectedDoa[i].toString(); 
    } 

if (index.equals("string")){ 
//do here 
} 
+0

この動作他(index.equals( "0")){ }(index.equals( "1"))であればなら。非常に多く –

0

selectedDoaが配列でない単一の文字列値である私のMultiSelectListある この

を試してみてください
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; 
     } 
    } 

私たちの友人としてヴァイデンは、スイッチ文字列が問題

if(index.equals("0"){ 
//do what zero does 
} 
else if(index.equals("1"){ 
//do what one does 
} 
+1

スイッチブロックは、APIのみでサポートされています> = 19(http://stackoverflow.com/a/19722741/606351)。古いAndroidsの場合は、Stringをintに解析するか、String equals = selectedDoa [I]に.equals()を指定したカスケードIF文を使用します( – Vaiden

+0

)。 互換性のない型のエラーがあります。必須:java.lang.Stringが見つかりました:Java.lang.CharSequence。これを修理する方法は? –

+0

こんにちは、それはselectedDoa [i]です。またコードはうまくコンパイルされています。アンドロイドスタジオでテストしました mySharedPreferences.getStringSet( "selectedDoaKey"、null); String [] selectedDoa = selectionsDoa.toArray(new String [] {}); for(int i = 0; i

関連する問題