我有一个按钮,其中(like)是从字符串资源中编写的,点击后我想切换到不像&反之亦然。
如何比较按钮包含与字符串资源相似或不同的内容?
我的string.xml包含
<string name="like">Like</string>
<string name="unlike>unlike</string>
答案 0 :(得分:5)
试试这个..
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));
}
}
});
在string.xml中
<string name="txt1">11111111111</string>
<string name="txt2">2222222222222222</string>
答案 1 :(得分:2)
您可以使用getString方法
if(btn1.getText().toString().compareTo(getResources().getString(R.string.app_name)) == 0)
{
// do some code here
}
答案 2 :(得分: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));
}
答案 3 :(得分: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
}
}
});
答案 4 :(得分:0)
您可以这种方式检索标签(按钮上的文字)。
Button button=(Button) findViewById(R.id.button1);
Log.d("Text",""+button.getText());
答案 5 :(得分:0)
你可以这样做::
String value=buttonname.getText().toString
//this Will Give the Text On the Button
现在比较像这样的方式的值并更改Button的名称::
if(value.equals("Like"))
{
buttonname.setText("UnLike");
}
else
{
buttonname.setText("Like");
}