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()
始终返回您来自的视图。