Ran
Ran

Reputation: 155

getParseObject() returns null

I don't know what's wrong with my code, that it always returns null when I use getParseObject().

I'm using parse.com to save my data, and in one table I used one file as a pointer. I have a Game class that has ImgName as a Pointer<Gallery> to a gallery class.

Now I want to retrieve the ImgName value, so this is what I did:

public Adapter(Context context) {
    super(context, new ParseQueryAdapter.QueryFactory<ParseObject>() {
        public ParseQuery create() {
            ParseQuery query = new ParseQuery("Game");
            query.include("ImgName");
            return query;
        }
    });
}

// Customize the layout by overriding getItemView
@Override
public View getItemView(final ParseObject object, View v, ViewGroup parent) {

    if (v == null) {
        v = View.inflate(getContext(), R.layout.list_item_landing_cards, null);
    }
    ParseObject gallery =  object.getParseObject("ImgName");
    String name=gallery.getString("name");
    TextView nameTextView = (TextView) v.findViewById(R.id.text);
    nameTextView.setText(name);

But I'm getting null all the time. Any suggestions?

Upvotes: 2

Views: 344

Answers (1)

kRiZ
kRiZ

Reputation: 2316

Use this for the re-use issue:

ParseObject gallery =  object.getParseObject("ImgName");
if (gallery != null) {
    String name=gallery.getString("name");
    TextView nameTextView = (TextView) v.findViewById(R.id.text);
    nameTextView.setText(name);
} else {
    nameTextView.setText(""); // or any other default value you want to set
}

NOTE: The cell re-use issue is not on Parse. Cell re-use is a general concept used by the ListView. The cells are recycled for performance by Android. We just have to protect it from re-using old values.

Upvotes: 1

Related Questions