Пользовательский 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);
Другие вопросы по тегам