Пользовательский Android Spinner не показывает текст полностью
Я создал кастом 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 ответа
Я сталкивался с этой проблемой раньше. Проблема в том, что TextView
внутри вашего Spinner полностью игнорирует части после символа пробела, когда TextView
размер меньше, чем вся строка. Вы можете определить это, удалив пробелы из вашего String
и отображать это. Он покажет вам часть текста, которая может поместиться в вашем TextView
, Но в тот момент, когда пространства вернулись, все они исчезли.
Установите что-то вроде этого:
label.setEllipsize(TruncateAt.END);
label.setSingleLine(true);