2
我有一个Android活动与滑动导航(用ViewPager实现)。测试一个布局是否“膨胀”
public class UberActivity extends FragmentActivity {
ViewPager mViewPager;
protected void onCreate(Bundle savedInstanceState) {
//... some stuff
myfragment1=new MyFragment1();
myfragment2=new MyFragment2();
myfragment3=new MyFragment3();
myfragment4=new MyFragment4();
}
public void onChoiceSelected(){
mViewPager.post(new Runnable(){public void run(){
myfragmen1.update();
myfragmen2.update();
myfragmen3.update();
myfragmen4.update();
}});
}
}
public class Fragment4 extends Fragment {
View v;
@Override
public View onCreateView(LayoutInflater layoutInflater, ViewGroup container,
Bundle savedInstanceState) {
v=layoutInflater.inflate(R.layout.mylayout,container,false);
return v;
}
public void update(){
((TextView)v.findViewById(R.id.textView1)).setText("new text");
}
我会得到更新(一个NullPointerException),除非我事先刷到它(以便它的布局实际上是调用Update之前充气())。 这里的问题是Fragment4是实例化的,但它的OnCreateView()没有被调用。我应该如何检查OnCreateView()是否被调用?我可以在那里放置一个布尔值,但我认为这不是最佳实践...
有可能这样做吗? if(v!= null && v.findViewById(R.id.textView1)!= null) ((TextView)v.findViewById(R.id.textView1))。setText(“new text”); – 2013-02-25 16:26:32