Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中正确执行if?_Android - Fatal编程技术网

如何在android中正确执行if?

如何在android中正确执行if?,android,Android,有人能告诉我为什么即使我在编辑文本字段中输入ran,然后按ok,也不会执行if语句吗?当用户输入ran并按下“确定”按钮时,我希望另一个按钮变为可见,使他能够停止当前活动。基本上我想知道为什么跳过if public class Reciever extends Activity{ protected static final String TAG = null; private Button ok,stp; private TextView tv; privat

有人能告诉我为什么即使我在编辑文本字段中输入
ran
,然后按ok,也不会执行
if
语句吗?当用户输入
ran
并按下“确定”按钮时,我希望另一个按钮变为可见,使他能够停止当前活动。基本上我想知道为什么跳过
if

public class Reciever extends Activity{

    protected static final String TAG = null;
    private Button ok,stp;
    private TextView tv;
    private EditText ev;
private String s1,s2,s3,s4;
@Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        s1="nar";
        setContentView(R.layout.stop);
        tv=(TextView) findViewById(R.id.textView1);
        tv.setText(s1);

        ev=(EditText) findViewById(R.id.editText1);
    ok=(Button) findViewById(R.id.ok_button);
    ok.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            s2="ran";
            tv.setText(ev.getText().toString());
            s3=ev.getText().toString();
            if(s3==s2)//not going inside this loop
            {
            stp=(Button) findViewById(R.id.stopb);

            stp.setVisibility(View.VISIBLE);
            stp.setOnClickListener(new OnClickListener() {

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

        }

    }
    });
    }
    }
只需将上面的行替换为下面的行

 if(s3.equalsIgnoreCase(s2))//no

使用
.equals
而不是
=
来比较两个字符串的值

if (s2.equals(s3))

使用
==
测试参考等式。两个字符串可以包含相同的字符,但引用不同。

不能将文本与==进行比较,需要使用等于

if(s3.equals(s2))

它不是所谓的
if循环。这是一个
if语句
。它不会创建循环。它会强制活动终止,表示线程退出时未捕获异常,因为您正在另一个单击事件中写入一个单击事件
if(s3.equals(s2))