0
사실 저는 FragmentPagerAdapter와 함께 Fragments를 사용하고 있습니다. 그러나 조각에서 다시 뷰에 액세스하려고 시도했을 때 null 인 문제가 있습니다. pageNum도 null입니다. 나는 그것을 이해하는 많은 방법을 시도했다. 그러나 그것은 일하지 않았다.조각에서 onCreateView 이후에 뷰에 다시 액세스하려면 어떻게해야합니까?
FirstFragment.java
public class FirstFragment extends Fragment{
private int pageNum;
private TextView titleTxt;
private LinearLayout topPan;
public static FirstFragment newInstance(int page) {
FirstFragment fragment = new FirstFragment();
Bundle args = new Bundle();
args.putInt("page", page);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pageNum = getArguments().getInt("page", 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.workflow_item_layout, container, false);
titleTxt = (TextView) view.findViewById(R.id.title);
topPan = (FrameLayout) view.findViewById(R.id.top_pan);
}
public void setTopPanVisible(boolean isVisible) {
topPan.setVisibility(isVisible);
}
pageChangeListener 코드
private ViewPager.OnPageChangeListener pageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
final int position = pager.getCurrentItem();
if (state == ViewPager.SCROLL_STATE_IDLE) {
final FirstFragment fragment = (FirstFragment) adapter.getItem(position);
fragment.setTopPanVisible(true);
제가 pageChangeListener에서 'setTopPanVisible'호출시 토판가 null. 조회수를 유지하려면 어떻게 가치가 있습니까?
조각을 만든 후 topPan의 가시성을 변경하고 싶습니다. 그래서 onCreateView 호출 후에 setTopPanVisible을 호출해야합니다. – kimkevin
당신이 직면 한 문제 중 하나는 무엇입니까? # 1 또는 # 2? –
정확히 # 1, 지금 찾고 있습니다. – kimkevin