TextWatcher - 使用 if 语句时不显示结果

问题描述

我正在创建一个可以转换货币的应用程序。为了在转换货币时在文本视图中显示结果,我使用了 TextWatcher。我的问题是在检查用户转换为哪种货币时没有显示结果。

这是代码

@Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater,@Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.convert_currency,container,false);
        EditText amountEntered = (EditText) view.findViewById(R.id.amount);
        TextView result = (TextView) view.findViewById(R.id.result);
        Spinner spinnerConvertFrom = (Spinner) view.findViewById(R.id.convertFrom);
        Spinner spinnerConvertTo = (Spinner) view.findViewById(R.id.convertTo);

        TextWatcher textWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence,int i2) {
               if(spinnerConvertFrom.getSelectedItem().toString() == "USD" && spinnerConvertTo.getSelectedItem().toString() == "GBP") {
                    double amount = Double.parseDouble(amountEntered.getText().toString());
                    result.setText(String.valueOf(amount));
               }

            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        };
        amountEntered.addTextChangedListener(textWatcher);
        return view;
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)