簡體   English   中英

設置在Spinner上選擇的基於TableLayout的可見項

[英]Set visibility TableLayout based item selected on Spinner

我想讓Spinner設置表的可見性,我有2個數組字符串“cuboid and cylinder”。 如果我選擇Cuboid,cubeT表是可見的,而cyclinderT表是不可見的。 如果我選擇Cylinder,cylinderT表是可見的,cubeT是不可見的。

示例代碼歡迎。 感謝您的時間。

您可以將OnItemSelectedListener設置為Spinner,然后使用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了,所以我可能代碼不好......所以不保修!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM