android从db获取后返回null无法启动活动组件信息:java.lang.NullPointerException:storage==null

android从db获取后返回null无法启动活动组件信息:java.lang.NullPointerException:storage==null,java,android,arrays,listview,arraylist,Java,Android,Arrays,Listview,Arraylist,我正在尝试将项目动态添加到列表视图。但是,我遇到一个运行时异常。请帮助。全局变量“values”有问题吗?我试图通过打印日志进行调试,并且能够看到存储在变量中的值。当它返回结果时会出现问题(我使用它是因为我从数据库获取信息) 它可以很好地从数据库中获取数据,但当它返回try块中的结果时 int跳转到函数末尾的另一个return语句,然后崩溃 代码 公共类选择自助餐项目活动{ 串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串; 阵列

我正在尝试将项目动态添加到列表视图。但是,我遇到一个运行时异常。请帮助。全局变量“values”有问题吗?我试图通过打印日志进行调试,并且能够看到存储在变量中的值。当它返回结果时会出现问题(我使用它是因为我从数据库获取信息)

它可以很好地从数据库中获取数据,但当它返回try块中的结果时 int跳转到函数末尾的另一个return语句,然后崩溃

代码

公共类选择自助餐项目活动{
串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串;
阵列适配器;
私有静态int SPLASH_TIME_OUT=2000;
警报对话框警报对话框;
私有布尔loggedIn=false;
字符串类型;
字符串结果;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u choose\u buffet\u items);
新建JSONParse().execute();
适配器=新阵列适配器(此,
R.布局、自助餐列表、餐饮视图);
ListView ListView=(ListView)findViewById(R.id.ListView\u项目);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
字符串s=(字符串)适配器.getItem(i);
如果(s.equals(“饮料”))
{
意向编号意向=新意向(选择自助餐项目。此为自助餐饮料。类别);
起始触觉(数字内容);
}
否则,如果(s.等于(“蛋糕”))
{
意向书编号意向书=新意向书(选择自助餐项目。这个,自助餐蛋糕。类);
起始触觉(数字内容);
}
否则,如果(s.equals(“开胃菜”))
{
意向编号内容=新意向(选择自助餐项目。这是自助餐开胃菜。类);
起始触觉(数字内容);
}
else{Intent numbersitent=newintent(选择自助餐项目。这个,自助餐午餐。class);
startActivity(数字内容);}
}
});
setAdapter(适配器);
}
私有类JSONParse扩展了异步任务{
私人对话;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
alertDialog=新建alertDialog.Builder(选择自助餐项目.this).create();
alertDialog.setTitle(“上传数据”);
pDialog=新建进度对话框(选择自助餐项目。此选项);
setMessage(“获取数据…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
@凌驾
受保护的字符串doInBackground(字符串…args){
字符串登录\u URL=”http://2f179dfb.ngrok.io/getcat.php";
试一试{
//从SharedReferences获取布尔值
URL=新URL(登录\ URL);
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
结果=”;
字符串行=”;
而((line=bufferedReader.readLine())!=null){
结果+=行;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
Log.e(“结果”,结果);
JSONObject JSONObject=新JSONObject(结果);
JSONArray result1=jsonObject.getJSONArray(“结果”);
categouries=新字符串[result1.length()];
对于(int i=0;i
当传递给ArrayAdapter(Context,int,T[])的数组参数为null时,会引发此特定异常(“storage==null”)

在oncreate方法的此行中:

   adapter = new ArrayAdapter<String>(this,
            R.layout.buffet_list_view, categouries);
adapter=新阵列适配器(此,
R.布局、自助餐列表、餐饮视图);
Categouries为null,您需要初始化它,然后才执行该行。

当传递给ArrayAdapter(Context,int,T[])的数组参数为null时,会引发此特殊异常(“storage==null”)

在oncreate方法的此行中:

   adapter = new ArrayAdapter<String>(this,
            R.layout.buffet_list_view, categouries);
@Override protected void onPostExecute(String r) { adapter = new ArrayAdapter<String>(choose_buffet_items.this, R.layout.buffet_list_view, categouries); listView.setAdapter(adapter); pDialog.dismiss(); }