Android Controls
Android Controls

Reputation: 13

Get Data from ArrayList Model class in android

I am using Gson library for pasring json,

 Gson gson = new Gson();
   Reader reader = new InputStreamReader(source);
  PropertyModel[] response = gson.fromJson(reader, PropertyModel[].class);

i had set all data in Araylist like

 Arraylist<PropertyModel[]> model=Arraylist<PropertyModel[]>();
 model.add(response);

Now My problem is i am not able to get Arraylist PropertyModel class data

Please suggest me how can get Value from ArrayList

Thanks in Advance

Upvotes: 0

Views: 7832

Answers (5)

Noor Hossain
Noor Hossain

Reputation: 1831

First add values in Arraylist . Assume your modelclass name is 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);

Now, Retrive one value with list position or any number corresponding the length of 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();

Output:

word= Apple  Occurance= 3 

Hope, It helps, to retrieve any string from a list with modelClass.

Upvotes: 1

Viral Pathan
Viral Pathan

Reputation: 1

as we know arraylist uses index to store values we must provide it an index but when its associated with a model class, it can be done in two ways. let me give you an example.

1) you use your arraylist in the recycler adapter and get its object value using position,

 holder.name.setText(myarraylist.get(position).getName()); // for recycler adapter in "onBindViewHolder"
 name.setText(myarraylist.get(position).getName());//for base adapter in getview

2) if you want to check your object values in arraylist before passing it to the adapter you can do it this way,

 for (contact d :emps ){
 Log.e("name object of array",d.getName()+""); // getting the required object using the instance of model class
 }

where contact is the model class, which is also the type of the arraylist emps. I hope this helps you. good luck

Upvotes: 0

Pankaj
Pankaj

Reputation: 8058

Your way is wrong assigning Array to Arraylist change last two lines:-

change these two line in the code

 Arraylist<PropertyModel[]> model=Arraylist<PropertyModel[]>();
 model.add(response);

to this:-

Arraylist<PropertyModel> model = new ArrayList<PropertyModel>(Arrays.asList(response));

For getting values you can use for loop

for(int i=0 ; i<model.size() ; i++){
    PropertyModel object = model.get(i);  //getting single object from Arraylist
}

Upvotes: 0

Maniya Joe
Maniya Joe

Reputation: 801

try this code it will probably work...

 String responseString = jsonArray.toString();
    Log.e("jsonArray string --->", "" + responseString);
    Type listType = new TypeToken<ArrayList<ModelOneVOneListItem>>() {
    }.getType();
    yourArrayList = new Gson().fromJson(responseString, listType);

Upvotes: 1

Android Dev
Android Dev

Reputation: 433

Try like this

Add in Array list

ArrayList<String>() AddList= new ArrayList<String>();
Values = jb.getString("Your value");
 AddList.add(Values);

Then Convert Array List to String Array

String[] BrandNameArray = new String[AddList.size()];
BrandNameArray = AddList.toArray(BrandNameArray);

use the Array

Upvotes: 0

Related Questions