2017-01-09 6 views
0

Я хочу отправить данные из своей активности в свой фрагмент. Сейчас я делаю следующее.getArguments return null

String itemDescription = workAssignmentItem.getDescription(); 
Bundle bundle = new Bundle(); 
bundle.putString("itemDescription", itemDescription); 
FirstFragment.newInstance(bundle); 

Тогда в моем фрагменте я:

public static FirstFragment newInstance(Bundle bundle) { 
    FirstFragment fragment = new FirstFragment(); 
    fragment.setArguments(bundle); 
    return fragment; 
} 

Однако, когда я пытаюсь сделать 'getArguments() GetString ("itemDescription");'. В моем OnCreate, как это:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    description = getArguments().getString("itemDescription"); 

} 

не работает. getArguments возвращает null. Я не совсем уверен, почему он возвращает null, поскольку несколько источников в Интернете говорят, что это способ сделать это.

Может ли кто-нибудь указать мне правильное направление? заранее спасибо

+0

Выполняете ли вы транзакцию фрагмента для отображения фрагмента и после создания фрагмента в позиция, или Фрагмент уже виден? Если это так, задайте аргументы, получив экземпляр фрагмента из FragmentManager –

+0

. Ответьте на этот вопрос. Примите мой ответ, если он работает. –

ответ

0

Вам не нужно сверток передать одну строку в фрагмент

String itemDescription = workAssignmentItem.getDescription(); 
FirstFragment.newInstance(itemDescription); 

Fragment Изменение нравится это:

public static FirstFragment newInstance(String itemDescription){ 
    FirstFragment fragment=new FirstFragment(); 
    bundle args=new Bundle(); 
    args.putString("itemDescription",itemDescription); 
    fragment.setArguments(args); 
    return fragment; 
} 

и OnCreate вроде этого:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    description = getArguments().getString("itemDescription"); 
} 
+0

Ввод пучка в связку, это поможет? –

+0

@MarkKeen да !! его работы, но на самом деле он выбрал неправильный путь. он передал пакет через фрагмент. Лучше передать строку. –

+0

Ваш комментарий не имеет смысла и противоречит вашему ответу. –

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

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