80,351
社区成员
发帖
与我相关
我的任务
分享
{"total":100,"rows":[{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]}
public class A {
public int total;
public List<B> rows;
}
public class B{
public string key;
public string value;
}
String json = "{\"total\":100,\"rows\":[{\"key\":\"key1\",\"value\":\"value1\"},{\"key\":\"key2\",\"value\":\"value2\"}]}";
Type type = new TypeToken<B>() {}.getType();
Gson gson = new Gson();
A a = gson.fromJson(json, type);
Log.v("total",String.valueOf(a.getTotal()));
for (int i = 1; i<a.getRows().size(); i++){
Map<String,String> map = mgson.fromJson(json,type);
list.add(map);
}
sim = new SimpleAdapter(mContext,list , R.layout.profession_listview,new String[]{"value"} , new int[]{R.id.pf});
mlv.setAdapter(sim);
HashMap<String,String> map = (HashMap<String,String>)mlv.getItemAtPosition(position);
String nm = map.get("value");
Toast.makeText(getApplicationContext(), nm, Toast.LENGTH_SHORT).show();
String json = "{\"total\":100,\"rows\":[{\"key\":\"key1\",\"value\":\"value1\"},{\"key\":\"key2\",\"value\":\"value2\"}]}";
Type type = new TypeToken<B>() {}.getType();
Gson gson = new Gson();
A a = gson.fromJson(json, type);
ListView mlv = (ListView) findViewById(R.id.lv);
Log.v("total", String.valueOf(a.getTotal()));
List<B> itemBeans = new ArrayList<>();
for (int i = 1; i<a.getRows().size(); i++) {
mlv.setAdapter(new MyAdapter(mContext, a.getRows()));
}
public class ItemBean {
public int key;
public String value;
public ItemBean(int key, String value) {
this.key= key;
this.value= value;
}
}
adapter:
private List<PfItemBean> mList;
private LayoutInflater mInflater;
public MyAdapter(Context context, List<ItemBean> list){
mList = list;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null){
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.pf_item, null);
viewHolder.key= (TextView) convertView.findViewById(R.id.key);
viewHolder.value= (TextView) convertView.findViewById(R.id.value);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
ItemBean bean = mList.get(position);
viewHolder.key.setText(bean.key);
viewHolder.value.setText(bean.value);
return convertView;
}
class ViewHolder {
public TextView key;
public TextView value;
}
Activity:
String json = "{\"total\":100,\"rows\":[{\"key\":\"key1\",\"value\":\"value1\"},{\"key\":\"key2\",\"value\":\"value2\"}]}";
Type type = new TypeToken<B>() {}.getType();
Gson gson = new Gson();
A a = gson.fromJson(json, type);
Log.v("total",String.valueOf(a.getTotal()));
List<ItemBean> itemBeans = new ArrayList<>();
for (int i = 1; i<a.getRows().size(); i++) {
Map<String,String> map = gson.fromJson(json,type);
itemBeans.add((PfItemBean) map);
}
mlv.setAdapter(new MyAdapter(mContext,itemBeans));
我在运行的时候能看到log出total是100,可是他就是不显示item里面的内容,就是崩溃就是报错,真的请问下有没有人能帮帮我,卡了快一周了这个问题。
求帮助
@sagittarius1988
@u014165119