2014-02-14 4 views
0

Я хочу очистить изображение в событии onClick alertDialog. Im передает индекс целочисленного значения методу Show_Alert, как показано ниже. IMGS - это массив ImageView. в этом массиве 8 изображений.Очистить изображение в событии onClick alertDialog

Show_Alert("Confirm", "Do you want to Delete this",true, true,1); 

Но ошибка

«не может относиться к неконечной переменной опции внутри внутреннего класса , определенного в другом методе»

поэтому я создать окончательный Int дополнительная переменная

final int option; 
option=opt; 

Но это не работает как exp ected. Нужна помощь.

Это мой метод Show_alert

private void Show_Alert(String title, String message,boolean okButton, boolean cancelButton,int opt) 
     { 
      final int option; 
      option=opt; 
      AlertDialog.Builder alertDialog = new AlertDialog.Builder(capture_details.this); 
      alertDialog.setTitle(title); 
      alertDialog.setMessage(message); 

      if(cancelButton==true) 
      { 
       alertDialog.setNegativeButton("Cancel", 
         new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.cancel(); 
        } 
       }); 
      } 

      if(okButton==true && option!=-1) 
      { 

       alertDialog.setPositiveButton("Ok",new DialogInterface.OnClickListener() { 

        @SuppressLint("NewApi") 
        public void onClick(DialogInterface dialog, int which) { 
         if(option==1) 
         { 
          IMGS[option].setImageResource(R.drawable.image1); 
          IMGS[option].setScaleType(ImageView.ScaleType.CENTER_INSIDE) ; 
          IMGS[option].setTag(null); 
         } 

        } 
       }); 

      } 
      else if(okButton==true) 
      { 
       alertDialog.setPositiveButton("Ok",new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 


        } 
       }); 

      } 
      // Showing Alert Message 
      alertDialog.show(); 
     } 
+0

Заявить: «Но это не работает должным образом». Что он делает, чем? Что говорит ваш журнал? Разделение дополнительной информации с нами поможет нам с поиском вашего ответа. –

+0

Нет ошибок, но ImageView не очистился –

ответ

0

Попробуйте этот код в OnClick слушателю диалогового окна ниже. Объявите глобальную переменную AlertDialog. Измените Show_Alert на код ниже. Добавьте метод @Override. В .setPositiveButton вы устанавливаете код для кнопки OK. В .setNegativeButton вы устанавливаете код кнопки CANCEL. Не знаю, работает ли это мгновенно, но, на мой взгляд, оно приближается к вашему решению. Это был какой-то сырой непроверенный код, который я написал из головы.

Возможно, с некоторой помощью другого пользователя stackoverflow мы можем сделать мой код ниже, если он не работает (не стесняйтесь редактировать мой код ниже). В противном случае Google поможет вам в этом.

private AlertDialog alertdialog; 

private void Show_Alert(String title, String message) { 
    alertDialog = new AlertDialog.Builder(capture_details.this); 
    alertDialog.setTitle(title); 
    alertDialog.setMessage(message); 
    alertDialog = builder.create(); 
} 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    // Use the Builder class for convenient dialog construction 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    builder.setMessage(R.string.dialog_fire_missiles) 
      .setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        // OK pressed 
       } 
      }) 
      .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        // CANCEL pressed 
       } 
      }); 
    // Create the AlertDialog object and return it 
    return builder.create(); 
} 
+0

Мне нужно передать индекс изображения для очистки. Благодаря ответу –

Смежные вопросы