[英]Image duplicates in custom listview on scrolling
每當我嘗試從JsonArray刪除對象時,它表明不存在這種方法。 我的目標API版本是8。我正在尋找與此有關的其他問題,但找不到合適的解決方案。 請幫我解決一下這個。
class JSONAsync extends AsyncTask<String, Void, JSONArray>
{
@Override
protected void onPreExecute()
{
super.onPreExecute();
progressDialog = Util.setProgressDialog(Activity.this, "Please Wait",
"loading....", false);
progressDialog.show();
}
@Override
protected JSONArray doInBackground(String... urls)
{
try
{
HttpGet httppost = new HttpGet(url);
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httppost);
// StatusLine stat = response.getStatusLine();
int status = response.getStatusLine().getStatusCode();
if (status == 200)
{
HttpEntity entity = response.getEntity();
String resString = EntityUtils.toString(entity);
JSONObject jso= new JSONObject(resString);
JSONArray jsono= jso.getJSONArray("jobmasterto");
Log.e("jason array is this", ""+jsono);
for (int i = 0; i < jsono.length(); i++) {
if (jsono.getJSONObject(i).getString("jobName").equals(null) || jsono.getJSONObject(i).getString("jobName").equals("null") || jsono.getJSONObject(i).getString("jobName").equals("")) {
Log.e("Output : : ", jsono.getJSONObject(i).getString("jobName"));
jsono.remove(i);
}
}
if(jsono.length()>=0)
{
jobname = new String[(jsono.length())];
jobid = new String[(jsono.length())];
for(int i=0;i<jsono.length();i++)
{
JSONObject js = jsono.getJSONObject(i);
Log.e("Name : ", jsono.getJSONObject(i).getString("jobName"));
jobname[i] = jsono.getJSONObject(i).getString("jobName");
Log.e("Id : ", jsono.getJSONObject(i).getString("jobId"));
jobid[i] = jsono.getJSONObject(i).getString("jobId");
}
return jsono;
}
else
{
Toast.makeText(getApplicationContext(), "No Workers available : "+ logedinUserId , Toast.LENGTH_LONG).show();
return null;
}
}
} catch (IOException e)
{
e.printStackTrace();
} catch (JSONException e)
{
e.printStackTrace();
}
return null;
}
protected void onPostExecute(JSONArray result)
{
progressDialog.dismiss();
}
}
不過,請使用以下命令:
JSONObject jso= new JSONObject(resString); JSONArray jsonArray = jso.getJSONArray("jobmasterto"); Log.e("jason array is this", ""+jsonArray); ArrayList<Integer> i_ar = new ArrayList<Integer>(); for (int i = 0; i < jsonArray.length(); i++) { if (jsonArray.getJSONObject(i).getString("jobName").equals(null) || jsonArray.getJSONObject(i).getString("jobName").equals("null") || jsonArray.getJSONObject(i).getString("jobName").equals("")) { Log.e("Output : : ", jsonArray.getJSONObject(i).getString("jobName")); i_ar.add(i); } } JSONArray jsono = new JSONArray(); int len = jsonArray.length(); if (jsonArray != null) { for (int i=0;i<len;i++) { //Excluding the item at position if (i_ar.indexOf(i) == -1) { list.put(jsonArray.get(i)); } } } if(jsono.length()>=0) { //.... continue...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.