0
我有一個名爲「resultView」的Linearlayout。然後,我點擊一個按鈕後動態添加許多textView。 我想刪除我剛剛創建的所有文字瀏覽,當我再次單擊按鈕。調用removeAllViews()後Android佈局不會刷新
btn_search.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View view) {
resultView.removeAllViews();
String strFileName = et_fileName.getText().toString();
searchFiles(strFileName);
}
});
public void searchFiles(String strFileName){
....
for (int i = 0; i < fileList.size(); i++) {
TextView textView = new TextView(this);
textView.setText(fileList.get(i).getName());
textView.setPadding(5, 5, 5, 5);
if (fileList.get(i).isFile())
resultView.addView(textView);
}
}
App Screenshot,所有列出的結果都是動態創建的textViews。
My XML,id「view」是我的resultView。
但resultView.removeAllViews();
不起作用。結果仍然存在。 之後調用resultView.invalidate();
也不起作用。
我應該怎樣做佈局刷新?
add also resultView.requestLayout(); –
resultView.requestLayout()不工作 – Eiko
如果你沒有進入mainThread,使用postInvalidate()而不是invalidate()。你是否在代碼中調用invalidate()?在「onClickListener」中,只刪除視圖。 –