为什么有些 TableLayout 行没有变得不可见?
Why some TableLayout rows are not becoming invisible?
根据 Spinner
selection,我替换的 table 应该变为不可见,但如果它比新的 table 大,一些旧行仍会显示.当我再次 select 相同的选项时,它会正确消失。
示例代码
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;
}
}
在没有看到您的代码和布局的情况下无法查明确切的问题,但使用 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;
}
根据 Spinner
selection,我替换的 table 应该变为不可见,但如果它比新的 table 大,一些旧行仍会显示.当我再次 select 相同的选项时,它会正确消失。
示例代码
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;
}
}
在没有看到您的代码和布局的情况下无法查明确切的问题,但使用 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;
}