当前位置: 代码迷 >> Android >> Android开发小异常java.lang.NullPointerException
  详细解决方案

Android开发小异常java.lang.NullPointerException

热度:86   发布时间:2016-04-28 04:48:51.0
Android开发小错误java.lang.NullPointerException

如果去掉/*....*/,就会出现上面的错误。
	protected void setFoodAdapter() {
// TODO Auto-generated method stub
List<String>list=dbutil.getMenu();
//Log.i("GetMenu",list.size()+"dahong");

/*
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,list);
menuSpinner.setAdapter(adapter);
menuSpinner.setPrompt("请点菜:");
Log.i("test","sfd");
*/
}


上面的函数是在这里调用的
private OnClickListener addListener=new OnClickListener(){
@Override
public void onClick(View v) {
setFoodAdapter();
setContentView(R.layout.order_detail);

menuSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){

@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Log.i("foodSpinnerListener","????");
foods.add(menuSpinner.getSelectedItem().toString());
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub

}});
}
};


现在急需解决,希望高手能够指点下,感激不尽
------解决方案--------------------
setFoodAdapter();
第149行空指针
------解决方案--------------------
空指针。。。
你去掉的地方是 adapter 赋值的吧
这中错误都显示错误出在哪个文件和具体哪一行的了
自己慢慢分析。
OrderActivity.java的149行  函数setFoodAdapter();里面。
------解决方案--------------------
空指针的话一般是?menuSpinner报的错误,debug看看
------解决方案--------------------
dbutil是null
------解决方案--------------------
看下事件控件是不是该activity Layout中定义的,adapter也要初始化,一步步定位
------解决方案--------------------
肯定是dbutil为null
------解决方案--------------------
menuSpinner在那里,有进行实例化吗?
------解决方案--------------------
menuSpinner的空指针问题
------解决方案--------------------
多增加打印,看是哪个函数出问题了  一般一个activity一个layout,你在点击事件中凭空设置一个layout, 是不合理的,弹出来的窗口要么adapter绑定的,要么是从你定义的layout 文件  inflater进去,没有inflater的非该activity指定控件是操作不了的。找个简单例子先看看,首先应该说明自己要实现一个什么功能
------解决方案--------------------
 setFoodAdapter();
 setContentView(R.layout.order_detail);

了解下 activity生命周期 还有 setContentView() 方法  和 onContentChanged()  方法。

100%   你的spinner 为空指针。

setContentView 后 要重新进行控件绑定。
------解决方案--------------------
menuSpinner  new了么?
------解决方案--------------------
setFoodAdapter() 方法 149行 空指针 

把 你的 eclipse 截图发上来, 看看 149行 是哪一行代码 

adapter 不是null 的吧
  相关解决方案