我创建了一个自定义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);
但是没有运气。有人请告诉我如何解决这个问题。
答案 0 :(得分:0)
我以前遇到过这个问题。问题是当TextView
大小小于整个String时,Spinner内的TextView
完全忽略空格字符后面的部分。您可以通过从String
中删除空格字符并显示它来识别此信息。它会向您显示可能适合TextView
内部的文本部分。但是当空间回来的那一刻,它们都消失了。
答案 1 :(得分:0)
设置如下:
label.setEllipsize(TruncateAt.END);
label.setSingleLine(true);