2012-04-24 18 views
0

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

すべてのプロファイルは、カスタム要素を含むListViewだけです。データがあり

  1. から
  2. それを表示するデータはありません - 表示プレースホルダ

私は項目オブジェクト内のデータをリセットするプロファイル間スワイプするたびに:すべての要素は、2つの状態があります。 RESTコールを削除して、プレースホルダを表示する必要があるプロファイル項目を空にすると、すべての項目が空白になります。

何が問題なのですか?

EDIT:/

私はリストビューで現在の項目を設定する方法を説明します。私は静的なコンテンツを使用する場合、PageViewAdapterはOKであるようですが、すべてが完璧に動作します。

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のような新しいビューを起動すると、すべてが期待通りに機能します。

+0

コードを表示する必要があります。ここからは表示されません。あなたのViewPagerアダプタのコードは特に興味深いです。 –

答えて

0

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

+0

それは当てはまりません。必要に応じていつでもコンテンツを編集できます。何か変更があったときにinvalidateを呼び出すために正しいビュー参照を取得するだけです。 – schlingel

+0

確かに、あなたのデータは何とかあなたのアクティビティオブジェクトに永続化されなければなりません。しかし、まだあなたのインスタンス化コードを待っています。 –

+0

初めてREST経由でフェッチする必要があるため、これは不可能です。アプリが次のページを表示する前に呼び出しを完了するのを待たなければならない場合、非常に厄介なことになります。コードが配信されます。 – schlingel

関連する問題