user866364
user866364

Reputation:

Android AutoCompleteTextView - How to display a property of my class instead memory address?

I've implemented an AutoCompleteTextView with a custom ArrayAdapter. Everything works fine except when i choose an item from list. When i choose the item, it changes the values from AutoCompleteTextView to something like:

com.android.tests.entity.MyObject@41a0387

I'm not able to override the method toString() so i need to convert it to friendly value in android code.

How can i convert it? Can i choose one item and put a friend value in the text value from AutoCompleteTextView?

Thanks in advance.

edit:

 @Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    PassionHolder holder = null;
    if (row == null) {
        LayoutInflater inflater = ((Activity) context).getLayoutInflater();
        row = inflater.inflate(layoutResourceId, parent, false);
        holder = new InterestHolder();
        holder.txtTitle = (TextView) row.findViewById(R.id.txtTitle);
        row.setTag(holder);
    } else {
        holder = (PassionHolder) row.getTag();
    }
    Passion passion = passions.get(position);
    holder.txtTitle.setText(passion.getName());
    return row;
}

Upvotes: 0

Views: 260

Answers (1)

user866364
user866364

Reputation:

Solution: override the method convertResultToString(Object resultValue):

@Override
public CharSequence convertResultToString(Object resultValue) {
    Passio result = (Passion) resultValue;
    return result.getName();
}

Upvotes: 0

Related Questions