我正在使用Gson库来传播json,
Gson gson = new Gson();
Reader reader = new InputStreamReader(source);
PropertyModel[] response = gson.fromJson(reader, PropertyModel[].class);
我在Araylist中设置了所有数据,如
Arraylist<PropertyModel[]> model=Arraylist<PropertyModel[]>();
model.add(response);
现在我的问题是我无法获得Arraylist PropertyModel类数据
请建议我如何从ArrayList获取Value
先谢谢
答案 0 :(得分:1)
试试这段代码它可能会起作用......
String responseString = jsonArray.toString();
Log.e("jsonArray string --->", "" + responseString);
Type listType = new TypeToken<ArrayList<ModelOneVOneListItem>>() {
}.getType();
yourArrayList = new Gson().fromJson(responseString, listType);
答案 1 :(得分:1)
首先在Arraylist中添加值。假设您的模型类名称为CorpusHeadingModel:
ArrayList<CorpusHeadingModel> lemmaHeadingList = new ArrayList<CorpusHeadingModel>();
CorpusHeadingModel headingModel = new CorpusHeadingModel();
headingModel.setLemmaWord("Apple");
headingModel.setLemmaOccurance("3");
// now add the values to the list :
lemmaHeadingList.add(headingModel);
现在,使用列表位置或与lemmaHeadingList的长度相对应的任何数字检索一个值:
CorpusHeadingModel model = lemmaHeadingList.get(position);// "position" or any number value according to your lemmaHeadingList.size().
String word = model.getLemmaWord();
String countWord= model.getLemmaOccurance();
Toast.makeText(mContext, "word= " +word+" Occurance= "+ countWord, Toast.LENGTH_SHORT).show();
输出:
word= Apple Occurance= 3
希望,使用modelClass可以从列表中检索任何字符串。
答案 2 :(得分:0)
你的方法错误,将数组分配给Arraylist改变最后两行: -
在代码中更改这两行
code behind
到此: -
Arraylist<PropertyModel[]> model=Arraylist<PropertyModel[]>();
model.add(response);
获取可用于循环的值
Arraylist<PropertyModel> model = new ArrayList<PropertyModel>(Arrays.asList(response));
答案 3 :(得分:0)
试试这个
添加数组列表
ArrayList<String>() AddList= new ArrayList<String>();
Values = jb.getString("Your value");
AddList.add(Values);
然后将数组列表转换为字符串数组
String[] BrandNameArray = new String[AddList.size()];
BrandNameArray = AddList.toArray(BrandNameArray);
使用数组
答案 4 :(得分:0)
我们知道arraylist使用索引来存储值,我们必须为其提供索引,但是当将其与模型类关联时,可以通过两种方式完成。 让我给你举个例子。
1)您可以在回收站适配器中使用arraylist并使用位置
获取其对象值 holder.name.setText(myarraylist.get(position).getName()); // for recycler adapter in "onBindViewHolder"
name.setText(myarraylist.get(position).getName());//for base adapter in getview
2)如果要在将其传递给适配器之前检查arraylist中的对象值,可以用这种方式完成
for (contact d :emps ){
Log.e("name object of array",d.getName()+""); // getting the required object using the instance of model class
}
其中contact是模型类,它也是arraylist emps的类型。我希望这可以帮助你。祝你好运