java在Android Studio中使用while循环显示包含textview对象的数据
所以我在安卓工作室工作,用Java作为我的语言,我有一个嵌入式数据库。我想按一下我的应用程序上的一些按钮,以显示在那个时间点我的数据库中的所有内容。让我们假设我的数据库包含字母数字组合,例如“A,45”,“B,57”等
现在,要在我的应用程序中显示此数据,我将使用以下方法:
LinearLayout my_layout = (LinearLayout)findViewById(R.id.mainView);
Cursor c = dbase.query("SELECT letter, number from database");
while (c.moveToNext()){
TextView t = new TextView(this);
t.setText(c.getString(c.getColumnIndex("letter"))+","+c.getLong(c.getColumnIndex("number")));
my_layout.addView(t);
}
c.close();
现在,当我第一次按下应用程序上的按钮时,可以很好地显示我的数据,但问题是后续按下时,已经显示的数据仍保留在屏幕上,最终屏幕空间耗尽
例如,按一下:
A,45
B,57
再次按下:
A,45
B,57
A,45
B,57
等等
如何修改循环,以便在每次按下新按钮时,屏幕的当前内容都被擦除?谢谢你的帮助
# 1 楼答案
可以在重新填充布局之前从布局中删除所有视图:
或者,如果布局中有其他视图,则使用列表存储生成的文本视图,每当单击按钮时,这些文本视图将被清除并重新填充
因此,在活动类级别定义列表:
并在
onCreate()
中初始化它:然后修改您的侦听器,如下所示: