私は非常に奇妙な現象に直面しています。互換性パッケージの ViewPager を使用してプロファイルを表示しています。
すべてのプロファイルは、カスタム要素を含む単なる ListView です。すべての要素には 2 つの状態があります。
- データがあります - 表示します
- データがありません - プレースホルダーを表示します
プロファイル間をスワイプするたびに、アイテム オブジェクト内のデータをリセットします。REST-Calls を削除してプロファイル アイテムを空にすると (プレースホルダーが表示されるはずです)、すべてのアイテムが空白のままになります。
何が問題なのですか?
編集:/
それが、リストビューに現在のアイテムを設定する方法です。PageViewAdapter は問題ないようです。静的コンテンツを使用すると、すべてが完璧に機能します。
final TextView lblTitle = (TextView)convertView.findViewById(R.id.lblTitle);
final LinearLayout llContent = (LinearLayout)convertView.findViewById(R.id.llContent);
final ProfileItem item = getItem(userPosition);
String title = item.getTitle();
if(title == null || title.equals("")) {
lblTitle.setVisibility(View.GONE);
} else {
lblTitle.setText(item.getTitle());
}
if(item.getContent().getParent() != null) {
((ViewGroup)item.getContent().getParent()).removeAllViews();
}
llContent.removeAllViews();
llContent.addView(item.getContent());
アイテムはすべて次のように非常によく似ています。
@Override
public View getContent() {
if(isTextEmpty()) {
return noTextTherePlaceholder;
} else {
return view;
}
}
ビューまたは noTextTherePlaceholder だけを返しても、効果は同じです。
getView メソッドで TextView のような新しいビューを設定すると、すべてが期待どおりに機能します。