Android 为什么某些TableLayout行不可见?

Android 为什么某些TableLayout行不可见?,android,horizontal-scrolling,Android,Horizontal Scrolling,根据微调器选择,我的替换表应更改为不可见,但如果它比新表大,则仍会显示一些旧行。当我再次选择相同的选项时,它会正确地消失 示例代码 Spinner s; s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parentView,

根据
微调器
选择,我的替换表应更改为不可见,但如果它比新表大,则仍会显示一些旧行。当我再次选择相同的选项时,它会正确地消失

示例代码

        Spinner s;
        s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
            // your code here
            textSpinner = s.getSelectedItem().toString();
            switch (position){
                case 0:
                    tableLayout2.setVisibility(View.INVISIBLE);
                    tableLayout1.setVisibility(View.VISIBLE);
                    break;
                case 1:
                    tableLayout1.setVisibility(View.INVISIBLE);
                    tableLayout2.setVisibility(View.VISIBLE);
                    break;
            }
        }
Spinner;
s、 setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图selectedItemView、整型位置、长id){
//你的代码在这里
textSpinner=s.getSelectedItem().toString();
开关(位置){
案例0:
tableLayout2.setVisibility(视图.不可见);
tableLayout1.setVisibility(View.VISIBLE);
打破
案例1:
tableLayout1.setVisibility(视图不可见);
tableLayout2.setVisibility(View.VISIBLE);
打破
}
}

如果不查看您的代码和布局,就无法准确定位问题,而只能使用
视图。用
视图代替
视图。不可见的
可能只起作用:

switch (position){
    case 0:
        tableLayout2.setVisibility(View.GONE);
        tableLayout1.setVisibility(View.VISIBLE);
        break;
    case 1:
        tableLayout1.setVisibility(View.GONE);
        tableLayout2.setVisibility(View.VISIBLE);
        break;
}

在不查看代码和布局的情况下,无法准确定位问题,但请使用
View.GONE
而不是
View.INVISIBLE
可以:

switch (position){
    case 0:
        tableLayout2.setVisibility(View.GONE);
        tableLayout1.setVisibility(View.VISIBLE);
        break;
    case 1:
        tableLayout1.setVisibility(View.GONE);
        tableLayout2.setVisibility(View.VISIBLE);
        break;
}