6

我有一个按钮,(喜欢)是从字符串资源写入的,单击时我想将喜欢切换为不同,反之亦然。

如何比较按钮包含与字符串资源的相似或不同?

我的 string.xml 包含

<string name="like">Like</string>
<string name="unlike>unlike</string>
4

6 回答 6

12

尝试这个..

bt.setText(getString(R.string.txt1));
bt.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        myStr = bt.getText().toString();
        if((myStr.equals(getString(R.string.txt1)))) {
            bt.setText(getString(R.string.txt2));
        } else if ((myStr.equals(getString(R.string.txt2)))) {
            bt.setText(getString(R.string.txt1));
        }
    }
});

在字符串.xml

<string name="txt1">11111111111</string>
<string name="txt2">2222222222222222</string>
于 2012-07-27T07:29:30.517 回答
3

您可以使用 getString 方法

 if(btn1.getText().toString().compareTo(getResources().getString(R.string.app_name)) == 0)
    {
      // do some code here
    }    
于 2012-07-27T07:00:15.520 回答
2

使用下面的代码

 Button button = (Button)findViewById(R.id.btn1);

if(button.getText().toString().equals(getString(R.string.like)))
{
    button.setText(getString(R.string.unlike));
}
else
{
    button.setText(getString(R.string.like));
}
于 2012-07-27T07:00:51.687 回答
0

你可以这样做::

String value=buttonname.getText().toString   

//this Will Give the Text On the Button  

现在像这样比较值并更改按钮名称::

if(value.equals("Like"))  
 {
   buttonname.setText("UnLike"); 
 }
else
{
  buttonname.setText("Like");
}
于 2012-07-27T07:03:30.963 回答
0

尝试:

String text = getResources().getString(R.string.texttest);
Button button = (Button)this.findViewById(R.id.btntest);
button.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    if(button.getText().toString().equals(text))
    {
      // do some code here
    }
  }
});
于 2012-07-27T07:01:40.373 回答
0

您可以通过这种方式检索标签(按钮上的文本)。

Button button=(Button) findViewById(R.id.button1);
Log.d("Text",""+button.getText());
于 2012-07-27T07:01:44.117 回答