为什么字符串不相等

时间:2013-09-10 01:55:57

标签: android

在我的Android应用程序中,我有一个播放按钮。但在我点击按钮后,没有任何事情发生。似乎在比较按钮上的文字时,它们并不相同。如果我使用indexOf(PLAY),它的工作原理。无法弄清楚为什么它会像这样。我将res / values / strings.xml中的字符串值定义为

    <string name="play">Play</string>

    private final static String PLAY = "Play";        

    //some code in between    

    Button playButton = new Button(this);
    playButton.setText(R.string.play);
    playButton.setTextSize(BUTTON_FONT_SIZE);
    playButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
           Button b = (Button) v;
           if (b.getText().equals(PLAY)) {    //stuck here.                                    
                 startPlay();
            } else {

                stopPlay();
            }
        }
    });

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用中间变量,例如

String buttonText = b.getText().toString(); 
if (buttonText.equals(PLAY)) { 
    .....

或者只是

if (b.getText().toString().equals(PLAY)) {