从android中的ArrayList Model类获取数据

时间:2015-06-04 06:17:48

标签: android arraylist gson

我正在使用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

先谢谢

5 个答案:

答案 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的类型。我希望这可以帮助你。祝你好运