java - Android 应用程序中的条件语句未按预期工作

标签 java android

我目前正在尝试根据用户在下拉列表中选择的内容添加条件。如果选择第一项,则在 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/

相关文章:

php - 连接失败: No such file or directory Android Server Error

java - GWT 并行编译与顺序编译

java - 为什么 Collections.max() 方法不支持 Set<Entry<String,Integer>>

java - 如何在Java中按笔划对中文字符串进行排序?

java - AtomicInteger 增量

java - 将所有常量放在一个类android中

android - 无法从 Android 设备连接到谷歌云端点

java - JNI 方法 : formal argument lists differ in length

android - 相机捕获的图像应转发到android中的下一个屏幕

android - 使用 Retrofit 测试 MVP Android