Android spinner pokazujący odniesienie do obiektu zamiast łańcucha

Ok, więc mam problem z moim spinnerem. Jest wypełniany danymi pobranymi z usługi internetowej. Problem polega na tym, że gdy pokrętło nie jest klikane, zamiast pokazywać łańcuch dla pierwszego elementu w pokrętle, pokazuje zamiast niego odniesienie do obiektu.

Przyjrzałem się pokrewnemu pytaniu, ale wciąż nie widziałem, czego mi brakuje, czy to tak proste, jak brak referencji toString?

Oto kod do wypełnienia błystki

private void buildDrinkDropDown() {

        List<NameValuePair> apiParams = new ArrayList<NameValuePair>(1);
        apiParams.add(new BasicNameValuePair("call", "drinkList"));

        bgt = new BackGroundTask(MAP_API_URL, "GET", apiParams);

        try {

            JSONArray drinks = bgt.execute().get();

            for (int i = 0; i < drinks.length(); i++) {

                JSONObject d = drinks.getJSONObject(i);

                String id = d.getString(TAG_ID_DRINK);
                String createdAt = d.getString(TAG_CREATED_AT);
                String updatedAt = d.getString(TAG_UPDATED_AT);
                String price = d.getString(TAG_PRICE);
                String name = d.getString(TAG_NAME);

                drinkList.add(new Drink( createdAt ,id, name, price,updatedAt ));
            }

            drinkField = (Spinner) findViewById(R.id.countryField); 
            DrinkAdapter dAdapter = new DrinkAdapter(this, android.R.layout.simple_spinner_item, drinkList);
            drinkField.setAdapter(dAdapter);

            drinkField.setOnItemSelectedListener(new OnItemSelectedListener(){

                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    //Drink selectedDrink = drinkList.get(position);
                    GlobalDrinkSelected = drinkList.get(position).getId().toString();

                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {}


            });

        } catch (JSONException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }

Oto kod klasy adaptera

package com.android.main;

import java.util.ArrayList;

import android.app.Activity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class DrinkAdapter extends ArrayAdapter<Drink>
{
    private Activity context;
    ArrayList<Drink> data = null;

    public DrinkAdapter(Activity context, int resource, ArrayList<Drink> data)
    {
        super(context, resource, data);
        this.context = context;
        this.data = data;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {   // Ordinary view in Spinner, we use android.R.layout.simple_spinner_item
        return super.getView(position, convertView, parent);   
    }

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent)
    {   // This view starts when we click the spinner.
        View row = convertView;
        if(row == null)
        {
            LayoutInflater inflater = context.getLayoutInflater();
            row = inflater.inflate(R.layout.dropdown_value_id, parent, false);
        }

        Drink item = data.get(position);
        String test = item.getName();
        Log.d("test ", test);

        if(item != null)
        {   

            TextView drinkName = (TextView) row.findViewById(R.id.item_value);

            if(drinkName != null){
             drinkName.setText(item.getName());
             Log.d("find me ", drinkName.toString());
            }

        }

        return row;
    }
}

Oto xml dla układu dropdown_value_id używanego w adapterze

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/item_value"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

Jeśli potrzebujesz więcej informacji, po prostu krzycz.

Każda pomoc byłaby bardzo doceniona

Edytuj: zrzut ekranu

questionAnswers(4)

yourAnswerToTheQuestion