2016-08-11 7 views
0

私は現在、タブレイアウトViewPagerブロックフラグメントの閲覧者OnClickListeners

//Get the ViewPager and set it's PagerAdapter so that it can display items 
    ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); 
    viewPager.setAdapter(new SettingsFragmentPagerAdapter(getSupportFragmentManager())); 

    //Give the TabLayout the ViewPager 
    TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs); 
    tabLayout.setupWithViewPager(viewPager); 

でビューポケベルを持っている。そして、ビューページャでフラグメントがOnClickListenersとTextViewsは私の問題はOnClickListenersある

final TextView zSemTxt = (TextView) getActivity().findViewById(R.id.zSemTxt); 
     zSemTxt.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mSelectedTextView = zSemTxt; 
       showDialogToSelectClass(); 
      } 
     }); 

を添付していますすべての接触がViewPagerに行き、決してTextViewsに通らないように見えます。 viewPager.requestDisallowInterceptTouchEvent(true)のようなものを試しました。それは何も変えない。 アイデア?

+0

私は 'ViewPager'を多用していませんが、' R.id.viewpager'で 'android:clickable =" false "'を設定しようとしましたか? – Shaishav

+0

テキストビューがヌルかどうかを確認できますか? – HourGlass

+0

ヌルチェックは、私が警告を抑制することから得た習慣にすぎません.Android Studioはいくつかのアクティビティで、ビューがnullであるかもしれないと言っています –

答えて

0

コードをさらに表示する。

あなたのtextview = nullなので、おそらくonClickは動作しません。

final TextView zSemTxt = (TextView) getActivity().findViewById(R.id.zSemTxt); 

これは本当ですか?

私はあなたのコードを参照してくださいが、ビューがあなたのフラグメント膨張ビューです

final TextView zSemTxt = (TextView) view.findViewById(R.id.zSemTxt); 

を試してみてくださいいけません。

0

onActivityCreatedまたはonCreateViewがフラグメントで呼び出されていないことが分かります。 解決策は、私がViewPagerで表示されたフラグメントを管理するために使用していたPageFragmentクラスに行き、そこにonClickListenersを追加することでした。破片がそこで膨張していたので、他のクラスは決して呼び出されませんでした。