今天我在写viewPager+Fragment的时候突然发现如果初始化是这么做的:
viewPager = (ViewPager) findViewById(R.id.viewpager);
viewsList = new ArrayList<View>();
viewsList.add(remainView);
viewsList.add(recordView);
titleList = new ArrayList<String>();
titleList.add("余额");
titleList.add("收支");
这样的代码remainView中的控件是不能用类似于:
TextView mail = (TextView) remainView.findViewById(R.id.mail);
来获取的,通过很长时间的摸索之后,终于找到了解决办法,不用大范围修改代码,只用改写成以下内容:
getLayoutInflater();
LayoutInflater mInflater = LayoutInflater.from(this);
// init remainMoney
View remainView = mInflater.inflate(R.layout.remainmoneyfragment, null);
TextView mail= (TextView) remainView.findViewById(R.id.mail);
viewPager = (ViewPager) findViewById(R.id.viewpager);
viewsList = new ArrayList<View>();
viewsList.add(remainView);
titleList = new ArrayList<String>();
titleList.add("余额");
这样就能初始化了,这是自己摸索的成果,希望能帮助到大家