2012-04-12 8 views
0

hy!動的水平ビューページング

私は、ユーザープロフィール(写真、年齢など)を示すアクティビティを持っています。 userprofilesの数は動的です(user_idsは私のWebサービスからのものです)。

アクティビティは余分(user_id)で呼び出され、Webからすべてのデータを読み込みます。

私は動的な水平ビューページングを作成したいと考えています(ビューの数は動的です)。例として、私はhttp://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/を使用しますが、彼はレイアウトを切り替えるだけです。

マイコード:

public class MyPagerAdapter extends PagerAdapter{ 

    private int cnt; 

    public void setCount(int cnt) 
    { 
     this.cnt = cnt; 
    } 

    public int getCount() { 
     return cnt; 
    } 

    public Object instantiateItem(View collection, int position) { 

     LayoutInflater inflater = (LayoutInflater) collection.getContext() 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 


     //View view = inflater.inflate(resId, null); 

     View v = new View (MyPagerAdapter.this); 
     ((ViewPager) collection).addView(view, 0); 

     return view; 
    } 

    @Override 
    public void destroyItem(View arg0, int arg1, Object arg2) { 
     ((ViewPager) arg0).removeView((View) arg2); 

    } 

    @Override 
    public boolean isViewFromObject(View arg0, Object arg1) { 
     return arg0 == ((View) arg1); 

    } 

    @Override 
    public Parcelable saveState() { 
     return null; 
    } 

} 

PSを助けてください。私もGreendroidライブラリを使用していますが、サンプルコード(https://github.com/cyrilmottier/GreenDroid/blob/master/ gDCatalog/SRC/COM/cyrilmottier /アンドロイド/ gdcatalog/PagedViewActivity.java)

+0

多分あなたはどんな問題があるのか​​を詳しく説明する必要があります。なぜ今あなたが持っているものが満足できるものではないのかははっきりしない。 – FoamyGuy

+0

ええ、私は同じことを言わなければならない。あなたが持っているものは全く働かないでしょう。このクラスの完全なコードを追加するか、またはビューページの詳しい手順をご覧ください。 – mikepenz

+0

ああ、ここのようなPagerAdapterのビューを取得しようとするとうまくいきません...特定のビュー自体を作成する必要があるメソッドinstiateViewなどがありませんか? – mikepenz

答えて

0

を理解することは困難である私は、次のアダプターを開始することをお勧めします:

private class PhotoSwipeAdapter extends PagedAdapter { 

     @Override 
     public int getCount() { 
      return PAGE_COUNT; 
     } 

     @Override 
     public Object getItem(int position) { 
      return null; 
     } 

     @Override 
     public long getItemId(int position) { 
      return 0; 
     } 

     public View getView(int position, View convertView, ViewGroup parent) { 
      if (convertView == null) { 
       convertView = getLayoutInflater().inflate(R.layout.paged_view_item, parent, false); 
      } 

      ((TextView) convertView).setText(Integer.toString(position)); 

      return convertView; 
     } 

    } 

これはもっと必要なものです。 getViewメソッドは、現在のページの特定のビューを返します。あなたは好きなものでそれを埋めることができます。上記の例では、レイアウトファイルです。コードごとにレイアウトを作成することもできますが、レイアウトファイルを使用する方が簡単です!

ああ、この回答を確定してください。 (あなたが私に送ったチュートリアルを知っている人はいませんが、リンクだけであっても、もっと難しいものであっても、すべてのリソースを追加してください)あなたが追ってきたチュートリアルでは、 GreenDroid Libraryのチュートリアルでは、Androids Compatiblity Libraryを使用しています。 GreenDroidはPageAdapterの追加バージョンを持っています(私が間違っている場合は私を修正してください)。あなたはいつもあなたが使用する特定のライブラリを見つけることができますサンプルアプリケーションを使用して、使用する必要があります。チュートリアルのすべての詳細を読むことも重要です。 - >水平ビューページングは​​Android互換パッケージv4、Revision 3でのみ利用可能なAPIに基づいていますが、現時点では標準のAndroid SDKでは使用できません。

関連する問題