2012-04-26 74 views
0

我有一個自定義ArrayAdapter來容納一個元組。我使用元組中的一個項目作爲要顯示在我放置在頁面上的微調器上的文本。 這裏是我的ArrayAdapter代碼:自定義Android微調不完全顯示文本

public class SpinAdapter extends ArrayAdapter<ObjectsForSpinner> { 
    private ArrayList<ObjectsForSpinner> _values; 
    public ObjectsForSpinner getItem(int position) 
    { 
     return _values.get(position); 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     TextView label = new TextView(context); 
     label.settextColor(Color.BLACK); 
     label.setBackgroundColor(Color.TRANSPARENT); 
     label.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
     label.setText(_values.get(position).getSpinnerStr()); 
     return label; 
    } 
} 

_values.get(position).getSpinnerStr()是我返回文本。返回類型是String。問題是文本沒有完全顯示。當我返回Sales Department時,它僅顯示Sales而沒有Department
我甚至試過label.setEllipsize(TruncateAt.END);,但沒有運氣。請問一些人,請告訴我如何解決這個問題。

回答

0

我以前遇到過這個問題。問題是,Spinner內部的TextView完全忽略空格字符後的部分,因爲TextView大小小於整個字符串。您可以通過從String中刪除空格字符並將其顯示來識別此信息。它會告訴你可以放入你的TextView內的文字部分。但是空間回來的那一刻,它們都消失了。

0

設置是這樣的:

label.setEllipsize(TruncateAt.END); 
label.setSingleLine(true);