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"はmy resultViewです。
ただし、resultView.removeAllViews();
は機能しません。結果はまだアペンディドされています。 それ以降のresultView.invalidate();
の呼び出しも機能しません。
レイアウトを更新するにはどうすればよいですか?
また、resultView.requestLayout(); –
resultView.requestLayout()が動作しません – Eiko
mainThreadでない場合は、invalidate()の代わりにpostInvalidate()を使用してください。コードにinvalidate()を呼び出していましたか? "onClickListener"では、ビューのみを削除します。 –