0

У меня есть активность с тремя идентичными кнопками и тремя идентичными текстовыми элементами. Каждая кнопка OnClick вызывает AlertDialog по следующим кодом:Как получить onItemclick из списка в AlertDialog

PickerDialog = new PickerDialogFragment(); 
    PickerDialog.show(getSupportFragmentManager(), "PickerDialog"); 

Мои AlertDialog имеет EditText с addTextChangedListener

searchText.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
     } 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      adapter.getFilter().filter(s); 
      adapter.notifyDataSetChanged(); 
     } 
     @Override 
     public void afterTextChanged(Editable s) { 
     } 
    }); 

и адаптер ListView расширяет CursorAdapter и реализует фильтруемых

listView.setTextFilterEnabled(true); 
    adapter.setFilterQueryProvider(new FilterQueryProvider() { 
     @Override 
     public Cursor runQuery(CharSequence constraint) { 
      return dbHelper.filterCodes(db, constraint); //returns a cursor 
     } 
    }); 

Что я пытаясь добиться, это прямое изменение текста кнопки на выбранном пользователем значении из списка в AlertDialog.

Помимо этого, если это возможно, я хотел бы установить значение EditText с выбранным пользователем значением из отфильтрованного списка и затем щелчка положительной кнопки я бы значение каждой кнопки

Так что мой вопрос, что происходит внутри listview.onItemClickListener и builder.setPositiveButton и builder.setNegativeButton

Я также не в состоянии определить, какая кнопка применит alertDialog и делать различный alertdialog для каждой кнопки будет только увеличиваться строк кода

ответ

2

Добавить «INT Resid» параметр конструктору yo ур. Создайте свой диалог с помощью нового элемента PickerDialogFragment (R.id.button1); '. Используйте остаток в findViewById, чтобы получить экземпляр кнопки и установить его текст.

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