2011-07-14 9 views
-1

選択した値を保存するにはどうすればよいですか?AlertDialogで選択した値を保存する

private final CharSequence[] mColors = {"1", "2", "3", "4", "5" , "6"}; 

    switch (id) { 
    case w_COLOR: 

     final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Тест"); 
     builder.setSingleChoiceItems(mColors, 0, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int item) { 

       mResult = item; 


      } 
     }); 
     builder.setPositiveButton("Ок", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       Toast.makeText(getApplicationContext(), "ITEM: " + mColors[mResult], Toast.LENGTH_LONG).show(); 
       if (mResult == 0) 
       { 

        Parameters params = camera.getParameters(); 
        params.setFlashMode(Parameters.FLASH_MODE_ON); 
        camera.setParameters(params); 

        camera.autoFocus(autoFocusCallback); 
       } 

       if (mResult == 1) 
       { 

        Parameters params = camera.getParameters(); 
        params.setFlashMode(Parameters.FLASH_MODE_OFF); 
        camera.setParameters(params); 

        camera.autoFocus(autoFocusCallback); 

       } 
       if (mResult == 2) 
       { 
        Parameters params = camera.getParameters(); 
        params.setFlashMode(Parameters.FLASH_MODE_ON); 
        camera.setParameters(params); 

       } 
       if (mResult == 3) 
       { 
        Parameters params = camera.getParameters(); 
        params.setFlashMode(Parameters.FLASH_MODE_OFF); 
        camera.setParameters(params); 

       } 

       if (mResult == 4) 
       { 
        Parameters params = camera.getParameters(); 
        params.setFlashMode(Parameters.FLASH_MODE_TORCH); 
        camera.setParameters(params); 
        camera.autoFocus(autoFocusCallback); 
       } 

       if (mResult == 5) 
       { 
        Parameters params = camera.getParameters(); 
        params.setFlashMode(Parameters.FLASH_MODE_TORCH); 
        camera.setParameters(params); 

       } 
+0

あなたはお話をしていますか? – Marmoy

答えて

0

変数を設定します。たとえば、私は、この呼び出しでブール値を反転:あなたは上記のように行う

saveDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int whichButton) { 
    // Save the record, then flip editMode and change updating 
    // editable 
    Log.i(TAG, "Save requested. Saving..."); 
    updateRecord(); 
    editMode = !editMode; 
    titlebar.setText(editMode ? EDIT_TITLE : VIEW_TITLE); 
    updateEditable(editMode); 
    recordUpdated = false; 
    String ems = editMode ? "ON" : "OFF"; 
    Log.i(TAG, "Switching edit mode "+ems); 
    } 
}); 

はまた、おそらくどちらかがif...else if... else構造やswitch (case)if構造を切り替える必要があります。 setPositiveButtonをクリックすると、if文がそれぞれチェックされており、それらはすべて相互に排他的です。また、毎回呼び出されるように思われるので、おそらくParameters params = camera.getParameters();をif構造の外に引き出すことができます。

関連する問題