Spinner中getResource()空指针问题以及Context传值问题

来源:互联网 发布:电子科技大学软件学院 编辑:程序博客网 时间:2024/05/22 17:40

在封装一个Spinner的时候,传值报空指针异常:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
报错语句:

timeAdapter = new ArrayAdapter<String>(SpinnerApp, android.R.layout.simple_spinner_item,                getResources().getStringArray(R.array.timesC));
在逐个筛查后,确定是第三个参数没有获取到值,语句没有问题,但是查询后发现,getResource()这个方法的调用类不明确,如果是封装的Spinner类调用,即默认调用的话,确实没有传入值,而如果是从主Activity调用的话,没有明确声明,所以需要传入一个Context,指明到底是哪个类在调用该方法,假设为主Activity调用,则需要在自己封装的类中传入一个Context用来接收主Activity的传入。因此,在调用某个默认方法的时候,一定要明确到底是哪个类在调用。

修改后的代码:

timeAdapter = new ArrayAdapter<String>(SpinnerApp, android.R.layout.simple_spinner_item,                SpinnerApp.getResources().getStringArray(R.array.timesC));
此处的SpinnerApp为传入的Context。



0 0
原创粉丝点击