当我点击btn2
时,会按预期删除行/子项。但是,当没有剩余子项时,尽管检查了getChildCount()
的非零值,应用程序仍会崩溃。为什么会这样?
btn2.setOnClickListener(new View.OnClickListener() {
int j= t1.getChildCount();
@Override
public void onClick(View v)
{
if(j==0) // doesn't work
{
Toast.makeText(
create_form.this,
"Can not delete more rows",
Toast.LENGTH_LONG
).show();
}
else
{
TableRow lastRow = (TableRow) t1.getChildAt(t1.getChildCount() - 1);
TableRow secondlastRow = (TableRow) t1.getChildAt(t1.getChildCount() - 2);
t1.removeView(lastRow);
t1.removeView(secondlastRow);
}
}
});
答案 0 :(得分:0)
j
。答案 1 :(得分:0)
将int j= t1.getChildCount();
放在onClick
方法中。在您的情况下,j
仅在您的匿名类被实例化时分配一次。
但是,只要用户点击按钮,就会调用onClick
方法。
答案 2 :(得分:0)
通过改变if条件
起作用if (j <2)
{
Toast.makeText(
create_form.this,
"Can not delete more rows",
Toast.LENGTH_LONG
).show();
}