0

私は非常に奇妙な現象に直面しています。互換性パッケージの ViewPager を使用してプロファイルを表示しています。

すべてのプロファイルは、カスタム要素を含む単なる ListView です。すべての要素には 2 つの状態があります。

  1. データがあります - 表示します
  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 のような新しいビューを設定すると、すべてが期待どおりに機能します。

4

1 に答える 1

0

ビューページャーをActivity.onCreate使用すると、すべてのデータを取得してから、そのデータを ViewPagers アダプターの で使用する必要がありますonInstantiateItem

于 2012-04-24T09:59:00.013 に答える