如何在代码中更改Android按钮小部件的文本而不是XML文件?
答案 0 :(得分:43)
您可以使用setText()
方法。例如:
import android.widget.Button;
Button p1_button = (Button)findViewById(R.id.Player1);
p1_button.setText("Some text");
答案 1 :(得分:18)
我可以像这样更改按钮的文字:
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");
答案 2 :(得分:1)
我的layout.xml中有一个按钮,被定义为View in in:
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.
工作得很好!
答案 3 :(得分:1)
这很容易
Button btn = (Button) findViewById(R.id.btn);
btn.setText("MyText");
答案 4 :(得分:0)
这可能是偏离主题的,但对于那些正在努力如何精确改变按钮文字的字体(这是我的情况和Skatephone的答案帮助我)的人来说,这就是我的做法它(如果您按钮设计模式):
首先我们需要按钮的字符串名称"转换" (这是一种从xml中解释,但很简单)的java,因此我们将上述代码粘贴到我们的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
必须替换为按钮
Counter
必须替换为按钮的ID名称("@+id/ButtonName"
)
如果您想更改按钮文字,只需插入文字代替"Set button text here"
这里是您更改字体的部分:
现在你已经转换了"从xml到java,您可以为TextView设置Typeface方法。将以下代码完全粘贴在上面描述的上一个代码
之下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
您放置按钮的ID名称(与之前的代码一样)并代替MyFontName.ttf
您放置所需的字体
警告!这假设您已将所需的字体放入 assets / font文件夹。例如资产/字体/ MyFontName.ttf
答案 5 :(得分:0)
使用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);
答案 6 :(得分:-1)
//文本按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" text button" />
//彩色文本按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text button"
android:textColor="@android:color/color text"/>
//背景按钮
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text button"
android:textColor="@android:color/white"
android:background="@android:color/ background button"/>
//文字大小按钮
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text button"
android:textColor="@android:color/white"
android:background="@android:color/black"
android:textSize="text size"/>