2013-11-01 20 views
0

我用自定義的ArrayAdapter實現了一個AutoCompleteTextView。一切工作正常,除非我從列表中選擇一個項目。當我選擇的項目,它改變從AutoCompleteTextView的數值,如:Android AutoCompleteTextView - 如何顯示我的類的屬性,而不是內存地址?

[email protected] 

我不能夠覆蓋toString()方法,所以我需要將其轉換爲友好值的Android代碼。

我該如何轉換它?我可以選擇一個項目並將一個朋友值從AutoCompleteTextView的文本值?

在此先感謝。

編輯:

@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; 
} 
+0

你爲什麼不'能夠覆蓋toString()方法'? –

+0

你總是可以覆蓋'toString()',因爲一切都是對象。 – 2013-11-01 14:44:09

+0

因爲我在這裏沒有依賴關係。這是第三部分,我試圖避免做'公共類Banana擴展MyObject'只是爲了覆蓋toString()。我可以做不覆蓋toString()? – placplacboom

回答

0

解決方案:覆蓋的方法convertResultToString(Object resultValue)

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