如何使用按钮更改Textview文本

时间:2018-10-28 12:58:05

标签: android string button random textview

我有一个textview和一个按钮,我可以用以下代码更改textview文本:

final Textview c_tv_matn;
Button c_btn_dokme;


c_btn_dokme = (button) findviewbyid(R.id.btn1);
c_tv_matn = (Textview) findviewbyid(R.id.txt1);

c_btn_dokme.setonclickListener(new OnclickListener() {
@Override
public void onClick(View v) {
c_tv_matn.SetText("this is second text");
});

但是我想从String.xml更改文本并像这样使“下一步”按钮; “ matn_1”,“ matn_2” matn_3“ matn_4 ...

STRING.XML

<string name="matn_0">Hello world!</string>
 <string name="matn_1">You are hero john</string>
<string name="matn_2">you can change this world</string>
<string name="matn_3">You are so clever</string>

您希望我帮我从带有数字的STRING和CHANG TEXTVIEW文本中获取内容吗?

3 个答案:

答案 0 :(得分:0)

要从String获得string.xml,您需要一个Context

ActivityContext,因此,如果您在Activity中,则可以调用getString(R.string.<the name in string.xml>)来检索所需的String

例如getString(R.string.matn_0)

然后可以将其应用于您的需求:

c_tv_matn.SetText(getString(R.string.matn_0));

如果您不在Activity中,则需要持有Context,可能将其作为参数传递给类的构造函数(并将其存储为属性)或作为将要进行文本设置的方法的参数。

答案 1 :(得分:0)

  

您希望我帮我从带有数字的STRING和CHANG TEXTVIEW文本中获取内容吗?

您可以使用getString(int)getText(int)来检索字符串。 getText(int)保留应用于字符串的任何富文本样式。 但是在这种情况下,您将使用getString(int)返回与特定资源ID关联的字符串值。它将除去所有样式的文本信息。

有时候,您需要context,例如您想在Button内进行操作,然后可以从context获取View,或者如果您的context中有一个全局Activity/Fragment,则也可以使用它。

示例

如果我没有误会,您想要的是将文本从Strings.xml放到TextView,因此您可以这样操作:

final Textview c_tv_matn;
Button c_btn_dokme;
int textNumber = 1;


c_btn_dokme = (button) findviewbyid(R.id.btn1);
c_tv_matn = (Textview) findviewbyid(R.id.txt1);

c_btn_dokme.setonclickListener(new OnclickListener() {
@Override
public void onClick(View v) {
switch(textNumber){
case 1:
   c_tv_matn.setText(v.getContext().getString(R.string.matn_1))
   textNumber++;
break;
case 2:
   c_tv_matn.setText(v.getContext().getString(R.string.matn_2))
   textNumber++;
break;
case 3:
   c_tv_matn.setText(v.getContext().getString(R.string.matn_3))
   textNumber++;
break;
default:
textNumber = 1;
  c_tv_matn.setText(v.getContext().getString(R.string.matn_1)
break;

});

答案 2 :(得分:0)

在Android XML文件中创建数组

您需要string.xml中的数组。作为参考,请查看下面的链接

https://www.homeandlearn.co.uk/android/grid_view_array.html