繁体   English   中英

如何将适配器添加到listView?

[英]How to add an adapter to a listView?

我有以下代码将自定义适配器添加到listView,但是在我设置适配器的那一行上出现以下错误:

android.content.res.Resources $ NotFoundException:字符串资源ID#0x68

public class PackageListFragment extends Fragment {

    PackageAdapter packageItemAdapter;
    ArrayList<PackageClass> list;
    PackageClass packageList;
    TextView mainLine;
    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.activity_aps__main, container, false);
        ListView lv = (ListView) rootView.findViewById(R.id.packageList);
        try{
            list = getAllPackages();
            packageItemAdapter = new PackageAdapter(getActivity().getApplicationContext(), 0, list);
            lv.setAdapter(packageItemAdapter);
        }
    }
    catch(Exception ex){
        Log.e("listItem", ex.toString());
    }
    return rootView;
}

public ArrayList<PackageClass> getAllPackages() throws Exception{
    return new DBFunctions(getActivity().getApplicationContext()).RetrieveAllPackage();
}

}

我究竟做错了什么? 我的应用程序甚至没有启动就停止了:(

编辑完您的问题后,我注意到try / catch块中的一个括号似乎是错误的。 我将您的代码复制到此答案中,并注释了可能令人讨厌的括号。 但这可能只是问题而不是您的代码中的一个错误,因为我不认为它可以解决此问题。

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.activity_aps__main, container, false);
    ListView lv = (ListView) rootView.findViewById(R.id.packageList);
    try{
        list = getAllPackages();
        packageItemAdapter = new PackageAdapter(getActivity().getApplicationContext(), 0, list);
        lv.setAdapter(packageItemAdapter);
    }

} // <---- seems out of place

catch(Exception ex){
    Log.e("listItem", ex.toString());
}

return rootView;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM