2016-06-25 3 views
0

Я застрял на - возможно, «легкой» проблеме ... У меня есть фрагмент, который отображает TextView.Показать строку ответа в текстовом фрагменте в фрагменте

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View inflatedView = inflater.inflate(R.layout.fragment_rezepte_test, container, false); 

    TextView responseTV = (TextView) inflatedView.findViewById(R.id.tv_response); 

    return inflatedView; 
} 

Следующая I've получила private void GET-метод, чей ответ тела я хочу показать в этом

String responseBody = response.body().string(); 
responseTV.setText(responseBody); 

Everytime фрагмент будет открыт, сбой приложения вызвано NPE

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 

Есть идеи? Заранее спасибо

+0

В каком жизненном цикле вы вызываете 'responseTV.setText (responseBody);'? – Vucko

+0

Отправьте свой 'fragment_rezepte_test.xml' пожалуйста –

ответ

0

Я не совсем понимаю вопрос, а также неясно, что именно тогда, когда вы пытаетесь вызвать этот метод response.body(), но, пожалуйста, проверьте, является ли строка вашего ответа нулевой или нет, а также используйте метод isAdded() в случае фрагментов в каждом важном методе. Редактирование: попробуйте инициализировать этот текстовый вид внутри onActivityCreated, а затем использовать его.

+0

Короткие: Я хочу напечатать свой response.body в TextView. System.print показывает мне строку, так что, по крайней мере, у меня есть ответ. Но как я могу получить это в своем TextView? – Andy

+0

См. Отредактированный ответ, пожалуйста. – Pritish

+0

Если я вызываю 'responseTV.setText (« Hello »), то« Hello »будет отображаться ... поэтому проблема, вероятно, в моем' get-method' ... – Andy

0

Давайте попробуем назвать super.onCreateView (Inflater, контейнер, savedInstanceState)

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

super.onCreateView(inflater, container, savedInstanceState) 

View inflatedView = inflater.inflate(R.layout.fragment_rezepte_test, container, false); 

TextView responseTV = (TextView) inflatedView.findViewById(R.id.tv_response); 

return inflatedView; 

}

0

ли вы проверить XML макет (fragment_rezepte_test.xml)? Убедитесь, что у вас есть TextView с тем же идентификатором.

+0

это был первый, который я проверил.;) – Andy

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