伙计们我正在开发一个Android项目。我想在列表中显示5个项目,但我只得到数组的最后一项,基本上这个数组来自JSONarray。我怎么解决这个问题?这是我的主要活动类
try {
Log.d("hy one ","two");
//JSONObject jobj=new JSONObject(data1);
JSONArray jr=new JSONArray(data1);
for (int i=0;i<jr.length();i++) {
jsonObject = jr.getJSONObject(i);
like = jsonObject.getString(like_count);
}
JSONArray jsonArray3=jsonObject.getJSONArray("comments");
HashMap<String, String> arr;
for(int j=0;j<jsonArray3.length();j++){
arr = new HashMap<>();
JSONObject jsonObject3 = jsonArray3.getJSONObject(j);
name11=jsonObject3.getString(name1);
Log.d("name value",name11);
arr.put("name",name11);
arrayList.add(arr);
}
Log.d("arraylist", String.valueOf(arrayList));
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
progressDialog.dismiss();
/*list_adapter=new list_adapter(Dashboard.this);
listcomment.setAdapter(listAdapter);*/
adapter= new Dashboard_Adapter(Dashboard.this,arrayList);
// Log.d("adapter", String.valueOf(adapter));
listview.setAdapter(adapter);
}
这是我的适配器
public class Dashboard_Adapter extends BaseAdapter {
ViewHolder viewHolder;
SharedPreferences sharedPreferences;
private LayoutInflater layoutInflater = null;
// ArrayList<String> arr;
private Activity activity;
public Context context;
HashMap<String, String> arr;
ArrayList<HashMap<String, String>> arrayList;
public Dashboard_Adapter(Context dashbord, ArrayList<HashMap<String, String>> arrayList) {
activity = (Activity) dashbord;
this.arrayList=arrayList;
layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
sharedPreferences = activity.getSharedPreferences(Login.My_Prefs, Context.MODE_PRIVATE);
}
@Override
public int getCount() {
return arrayList.size();
// Log.d("arraysize",arrayList.size());
}
@Override
public Object getItem(int position) {
return arrayList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
final ViewHolder viewHolder;
if (convertView == null) {
view = layoutInflater.inflate(R.layout.omments, parent, false);
viewHolder = new ViewHolder();
viewHolder.Name = (TextView) view.findViewById(R.id.txtTags23);
//comment
// viewHolder.btnPromote = (Button) view.findViewById(R.id.btnFeedResponce);
view.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) view.getTag();
}
arr = new HashMap<>();
arr = arrayList.get(position);
viewHolder.Name.setText(Dashboard.name11);
return view;
// Glide.with(context).load(images).placeholder(R.drawable.home).into(imageView);
}
public static class ViewHolder {
TextView Name;
}
}
我认为问题出在适配器上。
提前感谢:)
答案 0 :(得分:0)
JsonObject jsonObject = New JsonObject();
在for循环中