2016-11-26 4 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

あなたはgetView()nullであるため、ビューを膨張させる前に、showDrugs()を呼び出すことはできません。

最も簡単な方法は、あなたがgetView()nullではないことを確認することができる場所、右onCreateView()後に呼び出される、onViewCreated()showDrugs()を呼び出すことです。

関連する問題