我想做的是:
我的问题出在第5步,当我点击按钮时,它没有显示“成功”;它显示“错误”。假设我输入的内容与if语句中的内容相同。
我的代码是:
浮动操作按钮代码:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(MainActivity.this, SearchCategory.class);
startActivityForResult(i, 0);
}
});
注意:这是打开第二个活动的按钮
在我的第二个活动按钮中,点击代码:
public void search(View view) {
editText1 = (EditText)findViewById(R.id.start_text);
type = editText1.getText().toString();
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("type", type);
intent.putExtras(bundle);
setResult(RESULT_OK, intent);
finish();
}
按钮点击主要活动
public void onButtonClick(View view) {
if (start == "Car") {
Toast.makeText(this, "Successful", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "Error", Toast.LENGTH_LONG).show();
}
关于ActivityResult代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
/*EditText et = (EditText)findViewById(R.id.text_category);*/
Bundle category = data.getExtras();
category_text = category.getString("type");
/*et.setText(start);*/
}
}
注意:我尝试在主要活动中添加editText,它会显示我在第二个活动的editText中输入的文字。
答案 0 :(得分:1)
start是一个String值,因此请将此条件更改为
start.equals("车载&#34)
答案 1 :(得分:0)
下面有问题的代码,
if (start == "Car") {
Toast.makeText(this, "Successful", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "Error", Toast.LENGTH_LONG).show();
}
你应该将你的String与equals(" Car")
进行比较Plz引用一些基本想法https://www.javatpoint.com/string-comparison-in-java
答案 2 :(得分:0)
当您的start
值发生变化时?它在这段代码中从未改变过。
在这种情况下,你应该这样做。
Bundle category = data.getExtras();
start = category.getString("type");
或按category_text
检查条件,如下所示
if (category_text.equals("Car")) {
Toast.makeText(this, "Successful", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "Error", Toast.LENGTH_LONG).show();
}