Intereting Posts
RelativeLayout и процент роста. Невозможно использовать layout_below и layout_weight Android Facebook SDK импорт происходит с ошибками – Eclipse Вызывается ли OnItemSelectedListener.onNothingSelected? «Элемент, который вы пытались купить, не найден». Биллинг для Android в приложении Firebase FCM уведомления click_action полезная нагрузка Вызов getString (R.strings …) из класса? Как я могу обнаружить, что объект MediaPlayer начинает играть? Android: кнопка предпочтения нажата? Конверсия в формат Dalvik завершилась с ошибкой 1 – После обновления Android SDK & ADT Как экспортировать apk, подписанный с сертификатом отладки? Как обнаружить пользователя руки, удерживающего его устройство Предоставляет ли NDEV / Dragon Mobile SDK доступ в Интернет? Как сделать Android EditText вертикально развернутым, когда Android – динамическое добавление просмотров в представление Android.content.res.Resources $ NotFoundException: Идентификатор ресурса строки Fatal Exception in Main

Android-виджет: как изменить текст кнопки

Как я могу изменить текст виджета кнопки Android внутри кода, а не XML-файл?

Вы можете использовать метод setText() . Пример:

 import android.widget.Button; Button p1_button = (Button)findViewById(R.id.Player1); p1_button.setText("Some text"); 

Кроме того, как точка отсчета, Button расширяет TextView , поэтому вы можете использовать setText() как и обычный TextView.

Мне удалось изменить текст кнопки следующим образом:

 import android.widget.RemoteViews; //grab the layout, then set the text of the Button called R.id.Counter: RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout); remoteViews.setTextViewText(R.id.Counter, "Set button text here"); 

Это может быть не по теме, но для тех, кто борется за то, как точно изменить шрифт текста кнопки (это был мой случай, и ответ Skatephone помог мне), вот как я это сделал (если вы создали режим кнопки ind design):

Сначала нам нужно, чтобы имя строки «конвертировано» (это грязный способ объяснить, но прямо) в java из xml, и поэтому мы вставляем вышеупомянутый код в наш MainActivity.java

ВАЖНЫЙ! Поместите код в методе OnCreate!

 import android.widget.RemoteViews; RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout); remoteViews.setTextViewText(R.id.Counter, "Set button text here"); 

Иметь ввиду:

my_layout должен быть заменен файлом xml, где ваши кнопки

Counter должен быть заменен идентификационным именем вашей кнопки ( "@+id/ButtonName" )

Если вы хотите изменить текст кнопки, просто вставьте текст вместо "Set button text here"

Здесь идет часть, где вы меняете шрифт:

Теперь, когда вы «преобразуетесь» из xml в java, вы можете установить метод Textface для TextView. Вставьте следующий код точно в соответствии с предыдущим, описанным выше

 TextView txt = (TextView) findViewById(R.id.text_your_text_view_id); Typeface font = Typeface.createFromAsset(getAssets(), "fonts/MyFontName.ttf"); txt.setTypeface(font); 

Где вместо text_your_text_view_id вы text_your_text_view_id своей кнопки (например, как предыдущий код), а вместо MyFontName.ttf вы помещаете нужный шрифт

ПРЕДУПРЕЖДЕНИЕ! Предполагается, что вы уже поместили свой желаемый шрифт в папку активов / шрифтов. Например, активы / шрифты / MyFontName.ttf

У меня была кнопка в моем layout.xml, которая была определена как вид как в:

 final View myButton = findViewById(R.id.button1); 

Я не смог изменить текст на нем, пока не определил его как кнопку:

 final View vButton = findViewById(R.id.button1); final Button bButton = (Button) findViewById(R.id.button1); 

Когда мне нужно было изменить текст, я использовал bButton.setText("Some Text"); И когда я захотел изменить представление, я использовал vButton.

Отлично!

Используйте обмен с помощью java. SetText = "…", для класса java существует много методов для реализации.

  //button fechar btnclose.setEnabled(false); btnclose.setText("FECHADO"); View.OnClickListener close = new View.OnClickListener() { @Override public void onClick(View view) { if (btnclose.isClickable()) { btnOpen.setEnabled(true); btnOpen.setText("ABRIR"); btnclose.setEnabled(false); btnclose.setText("FECHADO"); } else { btnOpen.setEnabled(false); btnOpen.setText("ABERTO"); btnclose.setEnabled(true); btnclose.setText("FECHAR"); } Toast.makeText(getActivity(), "FECHADO", Toast.LENGTH_SHORT).show(); } }; btnclose.setOnClickListener(close); 

Это очень легко

 Button btn = (Button) findViewById(R.id.btn); btn.setText("MyText");