2016-11-26 5 views
-1

Простой json-синтаксический анализ, но я не могу это сделать, когда бы я ни хотел его создать, он падает, я думаю, что это из-за «findViewById».findViewById во фрагменте, как получить представление снаружи onCreateView

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    showDrugs(null); 
    return inflater.inflate(R.layout.fragment_first, container, false); 
} 
private void showDrugs(String search) { 
    ListView lvDrugs = (ListView) getView().findViewById(R.id.lvDrugs); 
    MyRealm myRealm = new MyRealm(getActivity().getApplicationContext()); 
    RealmResults<Drug> drugs = myRealm.getDrugs(search); 
    DrugListAdapter adapter = new DrugListAdapter(getActivity().getApplicationContext(), drugs); 
    lvDrugs.setAdapter(adapter); 
} 
+0

Пожалуйста, очистите форматирование и задайте конкретный вопрос в теле сообщения. Что вы ожидаете увидеть, и какова ошибка? Есть ли конкретная строка кода, о которой вы думаете? – drhr

ответ

0

Вы не можете назвать showDrugs() перед накачиванием мнение, потому что getView() является null.

Простейший способ это позвонить showDrugs() в onViewCreated(), который вызывается сразу после onCreateView(), где вы можете быть уверены, что getView() не null.

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