2016-11-08 9 views
0

это моя ситуация: Я хочу передать прослушиватель генератору представлений для его использования. но проблема в моем слушателе я хочу использовать этот вид, чтобы получить некоторые данные. какой-то, как скрученный ... - это способ предопределить представление, как интерфейс, к которому должен подключаться слушатель?Передайте слушателю метод, который создает View с этой проблемой для слушателя

 AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long l) { 

       //but I can not do this and use spinner cause it is not defined 
       String text = spinner.getSelectedStrings().toString(); 

      } 

      @Override 
      public void onNothingSelected(AdapterView<?> adapterView) {} 
     }; 

generateSpinner(attributes, listener); 

Я работаю над проектом MVC в Android, и этот вопрос выйти оттуда, потому что я должен отделить создание и логики для просмотра и Presenter. Таким образом, мой ведущий силы видит, чтобы создать счетчик с заданной логикой.

+0

Используя этот образец репозитория, вы можете узнать больше о смеси MVP с кинжалом: http://github.com/mmirhoseini/marvel –

+0

@MohsenMirhoseiniArgi благодарит много, я проверю это – Kenji

ответ

0

Вы ответили более половины своего вопроса самостоятельно. Сделать интерфейс, как это:

public interface MyViewCallback 
{ 
    void run(View view); 
} 

Теперь вы можете хранить экземпляр этого interface и вызвать его метод run() от объема ваших View «ы всякий раз, когда вам нужно - например,

MyViewCallback callback; 

// ... on some action 
callback.run(this); 

вы может создать установщик для этого callback и использовать его для регистрации обратного вызова.

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

  • Нет связанных вопросов^_^