我有MainActivity和ListClassFile。
MainActivity具有来自XML的Linearlayout(name是recordContent)组件。(使用findviewById获取)。
在ListClassFile文件中,我调用setListHandler将返回ListView类。
现在,我在MainActivity中有两个按钮。当我单击A按钮时。
它将调用
private ListClassFile rdActivity = null;
private LinearLayout recordContent = null;
....
@Overrid
protected void onCreate(...){
...
recordContent = (LinearLayout) findViewById(R.id.recordContent);
...
if( rdActivity == null )
{
rdActivity = new ListClassFile();
recordContent.addView( rdActivity.setListHandler(MainActivity.this) );
// rdActivity.setListHandler(MainActivity.this) it will return listview
}
}
...
}
listview
会显示。
当我点击B按钮时。
我会打电话给
if( rdActivity != null )
{
rdActivity = null;
recordContent.removeAllViews();
}
它会成功删除。
但我只想删除listview
。不是recordContent中的所有视图。
如何指定删除listview (rdActivity.setListHandler(MainActivity.this) )?
答案 0 :(得分:0)
而不是打电话
recordContent.removeAllViews();
呼叫:
recordContent.removeView(rdActivity);
或者你可以得到多个chield并删除最后一个:
int num = recordContent.getChildCount();
recordContent.removeViewAt(num-1);
答案 1 :(得分:0)
将返回的listview分配给实例变量,在删除时使用它。
private ListClassFile rdActivity = null;
private LinearLayout recordContent = null;
private ListView lv;
....
@Overrid
protected void onCreate(...){
...
recordContent = (LinearLayout) findViewById(R.id.recordContent);
...
if( rdActivity == null )
{
rdActivity = new ListClassFile();
lv = rdActivity.setListHandler(MainActivity.this);
recordContent.addView(lv);
// rdActivity.setListHandler(MainActivity.this) it will return listview
}
}
...
}
点击B按钮
if( rdActivity != null )
{
rdActivity = null;
**recordContent.removeView(lv);**
}