Android ArrayList添加项。什么';我的代码怎么了?
将元素添加到ArrayList时出错。我在Android ArrayList添加项。什么';我的代码怎么了?,android,arraylist,Android,Arraylist,将元素添加到ArrayList时出错。我在mArrayList.add上出错(oneToolkit)在我的其他活动中,相同的方法工作正常。当我评论mArrayList.add(oneToolkit)时一切正常。愚弄是我的异步任务代码和在其中调用的方法 private void getToolkits(){ JSONObject jsonObject = JSONParser.getJsonObject(URL); Log.d(Constants.TAG,"jsonObj
mArrayList.add上出错(oneToolkit)代码>在我的其他活动中,相同的方法工作正常。当我评论mArrayList.add(oneToolkit)时代码>一切正常。愚弄是我的异步任务代码和在其中调用的方法
private void getToolkits(){
JSONObject jsonObject = JSONParser.getJsonObject(URL);
Log.d(Constants.TAG,"jsonObject: "+jsonObject.toString());
try {
JSONArray AllResults = jsonObject.getJSONArray("AppTrainee");
//Log.d(Constants.TAG,"External Training: "+ AllResults.toString() + " Length: "+ AllResults.length());
JSONObject newObject = AllResults.getJSONObject(0);
JSONArray newArray = newObject.getJSONArray("Training Toolkits");
Log.d(Constants.TAG, "Lenght: "+newArray.length());
for(int i=0;i<newArray.length();i++){
JSONObject oneResult = newArray.getJSONObject(i);
Log.d(Constants.TAG,"Name "+i+" : "+oneResult.getString("ToolkitName"));
Toolkit oneToolkit = new Toolkit();
oneToolkit.setToolkitID(Integer.parseInt(oneResult.getString("ToolkitID")));
oneToolkit.setToolkitName(oneResult.getString("ToolkitName"));
oneToolkit.setDisplayOrder(Integer.parseInt(oneResult.getString("DisplayOrder")));
oneToolkit.setButtonImage(oneResult.getString("Tk_ButtonImage"));
mArrayList.add(oneToolkit);
}
Log.d(Constants.TAG, "Done");
} catch (JSONException e) {
e.printStackTrace();
}
}
private void showToolkits(){
//mAdapter = new ToolkitsAdapter(getApplicationContext(), mArrayList);
//mGridView.setAdapter(mAdapter);
}
private class GetDataTask extends AsyncTask<String, Void, Void> {
private final ProgressDialog dialog = new ProgressDialog(ToolkitsActivity.this);
// can use UI thread here
protected void onPreExecute() {
this.dialog.setMessage("Loading...");
this.dialog.setCancelable(false);
this.dialog.show();
}
// automatically done on worker thread (separate from UI thread)
protected Void doInBackground(final String... args) {
getToolkits();
return null;
}
// can use UI thread here
protected void onPostExecute(final Void unused) {
if (this.dialog.isShowing()) {
this.dialog.dismiss();
showToolkits();
}
}
}
private void getToolkits(){
JSONObject JSONObject=JSONParser.getJsonObject(URL);
d(Constants.TAG,“jsonObject:+jsonObject.toString());
试一试{
JSONArray AllResults=jsonObject.getJSONArray(“AppTraineer”);
//Log.d(Constants.TAG,“外部培训:+AllResults.toString()+”长度:+AllResults.Length());
JSONObject newObject=AllResults.getJSONObject(0);
JSONArray newArray=newObject.getJSONArray(“培训工具包”);
d(Constants.TAG,“Lenght:+newArray.length());
对于(int i=0;i这是该错误的原因
Caused by: java.lang.NullPointerException 03-07 22:25:27.788:
创建此mArrayList的对象时可能缺少
调试您的代码,我想您发现了错误。您的婚姻列表为空。请尝试初始化它
List<Toolkit> mArrayList= new ArrayList<Toolkit>();
List mArrayList=new ArrayList();
u Marraylist中有NullPointerException发布AsyncTask的完整代码以获取更多信息help@AhmedNawaz不客气。如果这对你有帮助,请接受答案并投赞成票。谢谢
List<Toolkit> mArrayList= new ArrayList<Toolkit>();