-1

代码工作正常,当有空格时,它会进行 contant 拆分,并将用户输入的任何单词替换为 V2 中的单词问题是,当我使用 IF 语句检查用户输入的单词时,它不起作用有什么问题如果?

package com.example.split;



import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText te1 = (EditText)findViewById(R.id.t1); 
        final EditText te2 = (EditText)findViewById(R.id.t2); 

        final Button b = (Button)findViewById(R.id.b1); 
     b.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                //imva.setImageResource(R.id.b1);

      String t=te1.getText().toString(); 
      String[] t1= t.split(" ");

      if (t1[0] == "hello")
      {
       String v1= t1[0];
       String v2 = " true ";  
       String a =  v1.replaceAll(v1, v2);
       te2.setText(a);  
      }      
      }
        });

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
4

2 回答 2

3

改变

if (t1[0] == "hello"){...}

if (t1[0].equals("hello")){...}
于 2013-04-01T14:55:26.240 回答
0

1)

if (t1[0] == "hello")

永远不要像那样比较字符串和对象。这样你就可以只比较对象引用,而不是内容

Java String.equals 与 ==

2)

v1.replaceAll(v1, v2);

将第一个参数作为正则表达式。我怀疑这就是你想要的。我打赌你想要

v1.replace(v1, v2);

http://developer.android.com/reference/java/lang/String.html#replace%28java.lang.CharSequence,%20java.lang.CharSequence%29

于 2013-04-01T14:56:55.107 回答