我目前正在尝试根据用户在下拉列表中选择的内容添加条件。如果选择第一项,则在 textView 上输入的数据将乘以 34,否则第二项将乘以 18。到目前为止,我可以测试第一个选择是否正常工作,但它没有选择第二个选择。有人可以向我解释解决这个条件的正确方法吗?这就是我的代码的样子。
public class CatalinaFerryTickets extends AppCompatActivity{
String[] ferryRoutes = new String[]{"To Catalina Island", "To Long Beach"};
private Button renderBtn;
EditText handleData;
TextView displayData;
@Override
protected void onCreate(Bundle savedInstanceState) {
// RENDER SPINNER TO DEVICE
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_catalina_ferry_tickets);
final Spinner spin=findViewById(R.id.mySpinner);
final ArrayAdapter<String> myAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, ferryRoutes);
spin.setAdapter(myAdapter);
renderBtn=findViewById(R.id.button);
displayData=findViewById(R.id.textView);
displayData.setMovementMethod(new ScrollingMovementMethod());
renderBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handleData=findViewById(R.id.editInput);
int ticketAmount = Integer.parseInt(handleData.getText().toString());
int total;
// FAULTY CONDITIONAL STATEMENT
if (ferryRoutes[0] == "To Catalina Island"){
total = ticketAmount * 34;
displayData.setText(Integer.toString(total));
}
else{
total = ticketAmount * 18;
displayData.setText(Integer.toString(total));
}
}
});
}
}
最佳答案
您不是在检查所选内容,而是在检查静态数组中的值。所以它总是需要一个分支。如果您想根据微调器选择执行某些操作,则需要实际查询微调器以了解所选内容。
关于java - Android 应用程序中的条件语句未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54963961/