我的情况如下: 在我的布局xml中,我有一个通用的LinearLayout作为主容器,我想根据单个活动中包含的分页系统填充内容。
我的Java代码如下:
private void goToPage(int pageNum){
LinearLayout layout = (LinearLayout)this.findViewById(R.id.layoutRadioGroups);
//Clear Views
layout.removeAllViews();
//Figure out array positions based on page number
if (pageNum < this.PAGE_NUM)
this.LAST_QUESTION_START -= this.NUM_PER_PAGE[pageNum];
else{
if (pageNum > 0)
this.LAST_QUESTION_START += this.NUM_PER_PAGE[pageNum - 1];
else
this.LAST_QUESTION_START = 0;
}
this.PAGE_NUM = pageNum;
//Grab my array values, create a TextView, and add it to the layout
for (int i=this.LAST_QUESTION_START; i < this.LAST_QUESTION_START + this.NUM_PER_PAGE[pageNum]; i++){
TextView tv = new TextView(layout.getContext());
tv.setText(this.QUESTIONS[i]);
tv.setId(i);
layout.addView(tv);
}
}
因此它会清除所有视图(这只是TextView的视图),找出将形成TextView对象的正确数组值,然后将它们添加到我的布局中。
现在Page 0显示正确,当我点击我的下一个按钮时,第1页也正确显示。但是当我转到第2页时,第1页的内容仍然存在,第2页的内容重叠在上面。
我对Android开发还很陌生,所以我不确定我是不是在刷新某些东西或使某些东西无效,但我很困惑。有什么想法吗?
谢谢!
答案 0 :(得分:0)
找出问题所在。
只有将android:windowBackground设置为应用程序的@null才会出现此重叠问题。
如果您只是将textview的文本设置为数组值,则会发生此重叠问题。您不必实际向布局或任何内容添加视图。
故事的道德,在开始时正确设置。
话虽如此,有没有人知道为什么会发生这种情况?