0

我创建了一个自定义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);,但还没有运气。有人请告诉我如何解决这个问题。

4

2 回答 2

0

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

于 2012-04-26T12:02:50.390 回答
0

设置这样的东西:

label.setEllipsize(TruncateAt.END);
label.setSingleLine(true);
于 2013-02-01T10:54:33.340 回答