我正在使用AsyncTask
创建TableLayout
并删除。
但我无法删除它。
表根据需要成功添加。但我需要在下次调用时删除所有视图。
我哪里错了?
我的代码:
private class asyncBrandName extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
if(count==1)
{
//((TableLayout)table1.getParent()).removeView(table1);
container.removeView(table1);
}
}
@Override
protected String doInBackground(String... params) {
//mycode to create table
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
container=(LinearLayout)findViewById(R.id.container);
container.addView(table1);
}
}
答案 0 :(得分:1)
如果table1
中只有container
,则可以调用container.removeAllViews()
来清除所有子视图。如果没有,您需要检查以下内容:
onPreExecute()
中,确保count == 1
为true
。可能count
为0
,因此container.removeView()
不会被调用。contianer
时,asyncTask
是否指向正确的布局?我注意到您在container
。onPostExecute()
引用
table1
之前asyncTask
引用是否已更改(重新创建或指向其他视图)?