2014-11-08 3 views
1

Я создаю приложение для Android, в котором пользователь выбирает любимое приложение для Android .Как установить setText, когда ImageButton нажимает на android?

Пользователь выбирает там любимое приложение, нажимая на ImageButton.

Теперь, когда пользователь нажимает кнопку ImageButton, диалоговое окно открыто.

Вот диалоговое окно код -

 public void start() { 

     final CharSequence[] items = { 
       "Poor","Avg.","Good","Very-good","Execlent" 
     }; 

     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Rank Your self"); 
     builder.setItems(items, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int item) { 
       // Do something with the selection 
       //Toast.makeText(getBaseContext(), , Toast.LENGTH_SHORT).show();  

       // txt1.setText(item); 
       //String item2 = txt1.getText().toString(); 
      } 
     }); 
     AlertDialog alert = builder.create(); 
     alert.show(); 

    } 

Теперь В основном я хочу, когда пользователь нажимает на ImageButton это диалоговое окно открыто.

Когда пользователь выбирает какой-либо ранга, как упоминание в DialogBox текст ниже что конкретное изображение отображается знак, который был выбрать в DialogBox

ответ

0

Ваша функция public void onClick(DialogInterface dialog, int item)

принимает целое значение item.

Теперь у вас есть массив элементов, определенных

final CharSequence[] items = { "Poor","Avg.","Good","Very-good","Execlent" };

Для доступа к элементу массива используют items[item] где item является индекс вашего массива.

Это вернет определенную строку массива.

Возвращение, что обратно в строку сказать itemst

Наконец установить текст txt1 с txt1.setText(itemst); в функции onClick

Вы также можете получить значение по

public void onClick(DialogInterface dialog, int which, boolean isChecked) { if (isChecked){ Toast.makeText(getApplicationContext(),items[which], Toast.LENGTH_SHORT).show();}

к генерирует тост выбранного элемента.

+0

Спасибо! можете подать пример, поскольку я новичок в андроиде ... пожалуйста, помогите –

+0

Какой пример? Просто используйте пункты [item], чтобы получить выбранный элемент, который вам нужен. Второе решение - это еще один способ. Например item item = items [item] Где элементы - это строка, а item - это указатель вашего aray –

+0

Ошибка отображения - Тип несоответствия: невозможно преобразовать из CharSequence в String. Я использую вот так: public void start() {final CharSequence [] items = {"Beginner", "Amateur", "Semi Pro", "Pro", "Legend"}; AlertDialog.Builder builder = new AlertDialog.Builder (это); \t строитель.setTitle ("Rank Your self"); \t builder.setItems (items, new DialogInterface.OnClickListener() { \t public void onClick (диалог DialogInterface, int item) {// Сделать что-то с помощью selectitemst = items [item];}}); AlertDialog alert = builder. create(); alert.show();} –

1

item это количество товара. items - массив, содержащий все тексты. Вы получаете выбранный текст следующим образом:

String text = items[item]; 
Смежные вопросы