2013-10-04 3 views
0

Я хотел бы знать, есть ли способ инициировать атрибуты пользовательского фрагмента. Не рекомендуется определять конструкторы.Android - Фрагмент - Установить атрибуты для фрагмента

Давайте сделаем несколько примеров:

class MyFrag extends Fragment{ 
private int id; 
private String name; 
//no constructors 
//oncreateview ... 

public void onStart() { 
super.onStart(); 
//I was using callback method before 
//setId(callback.getId); 
} 
public void setId(int id){ this.id=id;} 
public void setName(String name){ this.name=name;} 
} 

Мой вопрос заключается в том, что я создаю экземпляр моего фрагмента, я установить атрибуты через сеттеры, а затем я использую fragmentManager добавить фрагмент. Это хороший способ добиться настройки атрибутов?

Я пришел к этому вопросу, когда пытался создать LinearLayout, состоящий из нескольких фрагментов, используя атрибуты pojo для инициализации состояний представления фрагмента. Метод обратного вызова был бы бесполезен, пока фрагмент не имел атрибут, описывающий его индекс (чтобы получить мое pojo в моем списке активности).

ответ

0

попробовать:

Bundle bundle=new Bundle(); 
bundle.putString("message", "From Activity"); 
fragment.setArguments(bundle); 

от вашей активности вызовов

+0

Я использую fragmentmanager, чтобы добавить фрагмент в LinearLayout, я не могу понять, когда Намерение будет получен тогда? – PacDroid

+0

@PacDroid я отредактировал код, попробую выше, и если он не работает, вы можете отправить свой код FragmentManager – ilovepjs

+0

Здравствуйте, спасибо за ваш ответ. Это очень помогает, я нашел на нем правильный ресурс google (используя viewpager для навигации) по адресу http://developer.android.com/training/implementing-navigation/lateral.html – PacDroid

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