【问题标题】:findViewById in fragment , how to get view outside onCreateView片段中的findViewById,如何在onCreateView之外获取视图
【发布时间】:2016-11-26 18:59:23
【问题描述】:

简单的 json 解析,但我做不到,因为每当我想构建它时,它就会崩溃,我认为这是因为“findViewById”。

@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);
}

【问题讨论】:

  • 请清理格式,并在您的帖子正文中提出具体问题。您期望看到什么,错误是什么?有没有你想知道的特定代码行?

标签: java android listview parsing adapter


【解决方案1】:

在膨胀视图之前不能调用showDrugs(),因为getView()null

最简单的方法是在onViewCreated() 中调用showDrugs(),在onCreateView() 之后调用,您可以确定getView() 不是null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    相关资源
    最近更新 更多