簡體   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