私の状況は次のとおりです。レイアウト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オブジェクトを定式化する正しい配列値を計算して、それらをレイアウトに追加します。
これで、ページ0が正しく表示されます。次のボタンをクリックすると、ページ1も正しく表示されます。しかし、2ページに移動すると、1ページのコンテンツはまだそこにあり、2ページのコンテンツが上にオーバーレイされています。
私はAndroid開発にかなり慣れていないので、何かを更新したり無効にしたりしていないかどうかはわかりませんが、戸惑っています。アイデアはありますか?
ありがとう!