2012-01-15 13 views
1

viewclientでonclicklistsnerの問題を解決しましたが、XMLレイアウトファイルのすべての要素に依存することに気付きました。ViewPagerはXMLアイテムを更新/ロードしません

私はそのチュートリアルでViewPagerを実装:今、私はXMLで定義されたすべてのオブジェクトが(findViewByIdなどの後Debugginモードではnullではない)正しいインスタンス化されていることを、問題を抱えているtutsplus

を私はrefferすることはできません彼らへ。

class MyPagerAdapter extends PagerAdapter { 

    public int getCount() { 
     return 3; 
    } 

    public Object instantiateItem(View collection, int position) { 

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

     int resId = 0; 
     switch (position) { 
     case 0: 
      resId = R.layout.settings_view; 

      break; 
     case 1: 
      resId = R.layout.push_view; 
      break; 
     case 2: 
      resId = R.layout.listen_view; 
      break; 

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

     ((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; 
    } 
    public int getItemPosition(Object object) { 
     return POSITION_NONE; 
    } 


} 

、ここアダプタとサンプルコードのビットの私の実装:

ViewPager myPager = (ViewPager)findViewById(R.id.pager); 
     adapter = new MyPagerAdapter(); 
     myPager.setAdapter(adapter); 
     myPager.setCurrentItem(0); 

スピナースピナー=(スピナー)listenView.findViewById(R.id良くここに私のPagerAdapterを、それを理解することが .Dashboard_chooser); Button push =(Button)pushview.findViewById(R.id.pushbutton);

ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(getApplicationContext(),android.R.layout.simple_spinner_item, si); 


      spinner.setAdapter(spinnerArrayAdapter); 



push.setOnClickListener(new OnClickListener() { 


      public void onClick(View v) { 

//do something 
}); 

ボタンもスピナーも何もしていません。それらはどちらも正しくインスタンス化されていますが、私は父兄をクリックすることはできず、SpinnerがSpinnerItemの配列でいっぱいになることもありません。

Debuモードでは、私は見上げて、それらの両方がインスタンス化され、SpinnerItemArray(si)は値を取得します。私はViewPager実装する前にところで

は、すべてのものが働いていた、とAndroidを設定するときにボタンも取り組んでいます:XMLでのonClickをして、コード内のメソッドを定義するが、それはそう、スピナーのために動作しません。私はそれがinstantiateItemメソッドかそれと似たような何かに間違っていなければならないと思います。

誰も問題を知っていますか? 誰かが助けることができれば、あまりにも冷たくなるでしょう。 ユアーズFloの

答えて

関連する問題