Подтвердить что ты не робот

Как использовать первую букву текста в TextView в приложении для Android

Я также не имею в виду textInput. Я имею в виду, что как только у вас есть статический текст в TextView (заполненный вызовом базы данных для введенных пользователем данных (это может быть не заглавное)), как я могу убедиться, что они капитализированы?

Спасибо!

4b9b3361

Ответ 1

Я должен быть в состоянии выполнить это с помощью стандартных манипуляций с java-строкой, без каких-либо Android или TextView.

Что-то вроде:

String upperString = myString.substring(0,1).toUpperCase() + myString.substring(1);

Хотя, возможно, существует миллион способов достижения этого. Смотрите документацию String.

Ответ 2

android:inputType="textCapSentences"

или

TV.sname.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

Это будет CAP первая буква.

или

compile 'org.apache.commons:commons-lang3:3.4' //in build.gradle module(app)

tv.setText(StringUtils.capitalize(myString.toLowerCase().trim()));

Ответ 3

StringBuilder sb = new StringBuilder(name);
sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));  
return sb.toString();

Ответ 4

Вы можете добавить Apache Commons Lang в Gradle как compile 'org.apache.commons:commons-lang3:3.4'

И используйте WordUtils.capitalizeFully(name)

Ответ 6

Создайте пользовательский TextView и используйте его:

public class CustomTextView extends TextView {

    public CapitalizedTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void setText(CharSequence text, BufferType type) {
        if (text.length() > 0) {
            text = String.valueOf(text.charAt(0)).toUpperCase() + text.subSequence(1, text.length());
        }
        super.setText(text, type);
    }
}

Ответ 7

Для меня никто не работает

Функция:

private String getCapsSentences(String tagName) {
    String[] splits = tagName.toLowerCase().split(" ");
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < splits.length; i++) {
        String eachWord = splits[i];
        if (i > 0 && eachWord.length() > 0) {
            sb.append(" ");
        }
        String cap = eachWord.substring(0, 1).toUpperCase() 
                + eachWord.substring(1);
        sb.append(cap);
    }
    return sb.toString();
}

Результат:

I/P brain O/P мозг

I/P Brain and Health O/P Brain And Health

Я/П brain And health О/П Brain And Health

I/P brain Health к O/P Brain Health

I/P brain Health and leg к O/P Brain Health And Leg

Надеюсь, это поможет вам.

Ответ 8

Просто добавьте этот атрибут в EditText XML: android:inputType="textCapWords" это будет закрывать первую букву из всего слова, вставленного

Ответ 9

для Kotlin, просто позвоните

textview.text = string.capitalize()