自定义Android Spinner不会完全显示文本

时间:2012-04-26 11:57:37

标签: android spinner android-arrayadapter

我创建了一个自定义ArrayAdapter来保存元组。我使用元组中的一个项目作为要在我放在页面上的微调器上显示的文本。 以下是我ArrayAdapter的代码:

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);但是没有运气。有人请告诉我如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

我以前遇到过这个问题。问题是当TextView大小小于整个String时,Spinner内的TextView完全忽略空格字符后面的部分。您可以通过从String中删除空格字符并显示它来识别此信息。它会向您显示可能适合TextView内部的文本部分。但是当空间回来的那一刻,它们都消失了。

答案 1 :(得分:0)

设置如下:

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