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

时间:2010-10-03 20:37:27

标签: android button widget

如何在代码中更改Android按钮小部件的文本而不是XML文件?

7 个答案:

答案 0 :(得分:43)

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

import android.widget.Button;

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

另外,作为参考点,Button扩展了TextView,因此您可以像使用普通TextView一样使用setText()

答案 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必须替换为按钮

的xml文件

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"/>