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

Set visibility TableLayout based item selected on Spinner

我想让 Spinner 设置 table 的可见性,我有 2 个数组字符串 "cuboid and cylinder"。如果 i select Cuboid , cubeT table 是可见的, cyclinderT table 是不可见的。如果 i select Cylinder , cylinderT table 是可见的并且 cubeT 是不可见的。

欢迎提供示例代码。谢谢你的时间。

您可以为您的 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) { }

        });
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 所以我可能编码不好...所以没有保修!