Android小部件:如何更改button的文本

如何更改代码中的Androidbutton小部件的文本而不是XML文件?

Solutions Collecting From Web of "Android小部件:如何更改button的文本"

你可以使用setText()方法。 例:

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

另外,就像引用的一点, Button扩展了TextView ,因此为什么你可以像使用普通的TextView一样使用setText()

我能够像这样改变button的文字:

 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"); 

这可能是脱节的话题,但对于那些正在努力改变的button文本的字体(这是我的情况和Skatephone的答案帮助我)这是我做了这些(如果你使buttondevise模式):

首先,我们需要将button的string名称“转换”(这是一种解释,但简单明了)的方法,从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必须用您的button所在的xml文件replace

Counter必须用你的button的id名称( "@+id/ButtonName" )来"@+id/ButtonName"

如果你想改变button文本只需插入文本,而不是"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地方,你把你的button的ID名称(像以前的代码)和代替MyFontName.ttf你把你想要的字体

警告! 这假定你已经把你想要的字体放到资产/字体文件夹中。 例如assets / fonts / MyFontName.ttf

我有一个button,在我的layout.xml被定义为一个视图如下:

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

我不能改变它上面的文字,直到我还将它定义为一个button:

 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");