java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.unFocus(android.view.View)' on a null object reference.
我想从线性布局中删除所有 View ,除了前两个 View 。 我要删除的 View 是动态创建的。 这是我尝试过的:
<小时/>//编辑,我用错误的布局调用了它,但仍然不起作用
LinearLayout myFirstLinearLayout = findViewById(R.id.linLay);
deleteLinearLayoutChild(myFirstLinearLayout);
<小时/>
这是函数:
private void deleteLinearLayoutChild(LinearLayout linearView){
int childNumber = linearView.getChildCount();
Log.d("childNumb", childNumber+"");
if (childNumber > 2){
for (int i=2;i<childNumber;i++){
linearView.removeViewAt(i);
}
}
}
最佳答案
您应该以相反的顺序从布局中删除 View 。检查以下内容:
for (int i = childNumber - 1; i > 1; i--){
linearView.removeViewAt(i);
}
如果您使用 while 循环,则必须在每次迭代中调用 getChildCount
关于java - 如何从第二个位置删除线性布局子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59599256/