设置在Spinner上选择的基于可见性TableLayout的项目

时间:2019-06-14 07:32:28

标签: java android android-spinner

我想让Spinner设置表的可见性,我有2个数组字符串“ cuboid and圆筒”。如果我选择Cuboid,则cubeT表可见,而cyclinderT表不可见。如果我选择Cylinder,则cylinderT表是可见的,而cubeT是不可见的。

欢迎使用示例代码。谢谢您的宝贵时间。

2 个答案:

答案 0 :(得分:0)

您可以为Spinner设置一个OnItemSelectedListener,然后使用int position参数来决定要采取的操作。

    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
                switch (position) {
                    case Cuboid: 
                       cubeT.setVisibility(View.VISIBLE);
                       cylinderT.setVisibility(View.GONE);
                    break;

                    ....
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parentView) { }

        });

答案 1 :(得分:0)

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
        String text = ((Spinner)spinner).getSelectedItem().toString();
        if (Intrinsics.areEqual(text, "Cuboid")) {
            //Your code here to set your "table" as cubeT if it's image in imageview
            //if it's a "tableLayout" you may create 2 different layouts included and..:
            setContentView(R.layout.your_cubeT_layout);         
        } else if (Intrinsics.areEqual(text, "Cylinder")) {
            setContentView(R.layout.your_cyclinderT_layout);
          }
    } //when it comes to use different layouts on the same activity, generally suggestions made over fragments to make your code more dynamic but i don't know how to do that...

    @Override
    public void onNothingSelected(AdapterView<?> parentView) {
        // your code here
    }

});

多年以来我一直没有使用Java,所以我可能编写的代码很糟糕...因此,没有保修!