简体   繁体   English

带数据绑定的开关盒

[英]Switch case with data binding

Previously I had created an interface with two button implemented data binding to have a case when button A clicked then Shows input 1, if button B clicked then show input 1+2. 以前,我创建了一个具有两个按钮实现的数据绑定的接口,以使按钮A单击后显示输入1,如果按钮B单击后显示输入1 + 2。 Something similar to selected flight trip (one way or return). 类似于选定的航班旅行(单程或回程)。

图像案例1

the structure I use for this is a boolean 我用于此的结构是布尔值

android:onClick="@{() -> view.selectTripType(true)}"

android:onClick="@{() -> view.selectTripType(false)}"

and in my fragment is create a function with 在我的片段中创建一个函数

 public void selectTripType(boolean isRound) {
        viewModel.setRoundTrip(isRound);
        if (isRound) {
            setTripBtnStyle(binding.fragmentBusmainBtnroundtrip, binding.fragmentBusmainBtnoneway);
            binding.fragmentBusmainReturndateT.setVisibility(View.VISIBLE);
        } else {
            setTripBtnStyle(binding.fragmentBusmainBtnoneway, binding.fragmentBusmainBtnroundtrip);
            binding.fragmentBusmainReturndateT.setVisibility(View.GONE);
        }
    }

Now, I want to add another button which will have 3rd case, can I use a switch case in a data binding or how should I create for this? 现在,我想添加另一个具有第3种情况的按钮,我可以在数据绑定中使用切换用例还是应该为此创建?

3按钮与差异案例

How about using some integer value? 使用一些整数值怎么样?

android:onClick="@{() -> view.selectTripType(1)}"

android:onClick="@{() -> view.selectTripType(2)}"

android:onClick="@{() -> view.selectTripType(3)}"

and in your function 而在你的职能

public void selectTripType(int type) {
    // 1 : one way
    // 2 : round
    // 3 : disposal
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM