So I have spend almost 3 hours searching for an answer on how to set value to my spinner using ArrayAdapter of POJO.

Here is My POJO :

```
public class ArchiveIssueModel implements Serializable {

private String Issues;
private String id;
private String Picture;

public ArchiveIssueModel(String issues, String id, String picture) {
    Issues = issues;
    this.id = id;
    Picture = picture;
}

public ArchiveIssueModel() {
}

public ArchiveIssueModel(String issue) {
    this.Issues = issue;
}

public String getIssues() {
    return Issues;
}

public void setIssues(String issues) {
    Issues = issues;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getPicture() {
    return Picture;
}

public void setPicture(String picture) {
    Picture = picture;
}

//to display object as a string in spinner
@Override
public String toString() {
    return Issues;
}

@Override
public boolean equals(Object obj) {
    if(obj instanceof ArchiveIssueModel){
        ArchiveIssueModel c = (ArchiveIssueModel )obj;
        if(c.getIssues().equals(Issues) && c.getId()== id ) return true;
    }

    return false;
}

```

I know how to set value using and ArrayAdapter of String. 
I have done it like this and that's very easy to understand.

```
ArrayAdapter<String> spinnerArrayAdapter =
            new ArrayAdapter<>(this,
                    android.R.layout.simple_spinner_item, yearList);
    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    sp_year.setAdapter(spinnerArrayAdapter);
    sp_year.setSelection(spinnerArrayAdapter.getPosition(year));

```

But I can not figure out how to set a value to my spinner in case of ArrayAdapter o ArchiveIssueModel(i.e My POJO). Any help would be appreciated. TY :)