2

編集テキストフィールドifに入力してを押してもステートメントが実行されない理由を誰かに教えてもらえますか?ユーザーがボタンを入力して押すと、現在のアクティビティを停止できる別のボタンが表示されるようにしたいと思います。基本的に、なぜスキップされるのか知りたいです。ranokranokif

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();   
                }
            });

        }

    }
    });
    }
    }
4

3 に答える 3

1
if(s3==s2)//no

上記の行を以下に置き換えるだけです

 if(s3.equalsIgnoreCase(s2))//no
于 2012-05-20T12:50:45.537 に答える
1

.equalsの代わりにを使用==して、2つの文字列の値を比較します。

if (s2.equals(s3))

==参照の同等性のテストを使用します。2つの文字列には同じ文字を含めることができますが、参照は異なります。

于 2012-05-20T12:50:52.120 に答える
1

テキストを==と比較することはできません。equalsを使用する必要があります。

if(s3.equals(s2))
于 2012-05-20T12:50:55.800 に答える