繁体   English   中英

如何修复崩溃应用程序中的addView / removeView

[英]How to fix addView/removeView from crashing app

我正在使用切换方法来确定是否在我的视图中根据我的微调器的选定值显示元素。 我可以毫无问题地删除视图但是当我在我的微调器中更改我的选择时,我无法在应用程序崩溃时添加视图。

我试图默认删除所有视图,然后在每个开关的情况下添加它,因为我需要它,但是当我添加新视图时应用程序崩溃。 我试图在不使用默认情况下添加和删除每种情况下的视图,但在向列表添加视图时仍然会崩溃。

LinearLayout的id为reps_layout

switch (a){

case "one":                       
myLayout.removeView(rowView.findViewById(R.id.reps_layout));
break;

case "two":
myLayout.addView(rowView.findViewById(R.id.reps_layout));
break;

default:
//myLayout.removeView(rowView.findViewById(R.id.reps_layout));
}

当我选择案例“一”时,预期结果应该具有列表但已删除sets_field。 然后,当我选择案例“两个”时,我想将reps_layout添加回列表。

你可以像这样添加LinearLayout。 无论如何,您将需要父布局。

 switch (a){ case "one": myLayout.removeView(rowView.findViewById(R.id.reps_layout)); break; case "two": LinearLayout layout =new LinearLayout(this); layout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); myLayout.addView(layout)); break; default: //myLayout.removeView(rowView.findViewById(R.id.reps_layout)); } 

我不知道你的项目,但认为将视图的可见性设置为GONE而不是隐藏它可能更有意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM