0

ViewPager.getChildAt(int position).findViewById(int id)で正しいビューを返しませんSimpleOnPageChangeListener.onPageSelected()。だから、もしかしたら「持ち方が間違っている」と思ったのです。

私の活動では、ビューで何かをしようとしています(EditTextsのテキストを削除/変更します)

pager = (ViewPager) findViewById(R.id.pager);
pager.setOnPageChangeListener(new SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            EditText edit = (EditText) pager
                .getChildAt(position)
                .findViewById(R.id.textView1);
        }
    });

「古い」ビューを取得することがあります (1 ページまたは 2 ページ前から)。何も得られないこともあります。これが機能しないはずなのか、それとも実際にバグなのかはわかりません。誰にもアイデアはありますか?または、ビューが ViewPager に表示されているときにビューを変更する回避策はありますか? (または、これは単なる悪い習慣ですか?)

:getFocusedChild()は常に元のビューを返します。

4

0 に答える 0