Fragment中如何获取listview我的FileFragment继承了Fragment,现在我想要在FileFragment中获取获取filexml
Fragment中如何获取listview
我的FileFragment继承了Fragment,现在我想要在FileFragment中获取获取filexml中的一个listview,我用了下面两种方式:
//fileListView=(ListView)getActivity()findViewById(Ridfile_list);得到空指针
fileListView=(ListView)inflaterinflate(Ridfile_list, null);找不到资源
请指教在Fragment中如何获取listview。
[解决办法]
View rootView = inflaterinflate(Rlayoutfile, null); //先解析filexml布局,得到一个view
ListView listView = (ListView) rootViewfindViewById(Ridfile_list);
1、在Fragment中viewgetActivity()findViewById(Ridxx); 2、其中getActivity可以获取到该Fragment引用的Activity, 3、之后通过findViewById获取到其他与该Activity相关联的Fragment中的控件引用。
可以通过getActivity()来得到FragmentActivity对象,但是建议不要在Fragment中去 *** 作FragmentActivity的东西,建议在FragmentActivity中封装一些方法。
1Fragment是android30引入的新控件,果应用使用在30以下、16及以上的版本,需要引入v4包。
2Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。
3Fr期方法依赖于Activity的生命周期,例如一个Activity的onPause()的生命周期方法被调用的时候这个Activity中的所有的Fragment的onPause()方法也将被调用。
4FragmentManager提供了对Activity运行时的Fragment的添加、删除、替换的 *** 作。在Activity运行期间可以添加Fragment而不是在XML布局文件中进行定义。如果打算在Activity中改变Fragment的生命过程。如果要执行添加、删除、修改的 *** 作,必须通过FragmentManager的对象获得一个FragmentTransaction对象,通过它的API来执行这些 *** 作。
5两个单独的Fragment之间是不应该进行通信的。应该使用他们所存在的Activity作为沟通的纽带。
你的Activity里面注册过fragment吗?
像这样========》
private void InitViewPager() {
mPager = (ViewPager) findViewById(RidvPager);
fragmentsList = new ArrayList<Fragment>();
Fragment activityfragment = TestFragmentnewInstance("Hello Activity");
Fragment groupFragment = TestFragmentnewInstance("Hello Group");
Fragment friendsFragment=TestFragmentnewInstance("Hello Friends");
Fragment chatFragment=TestFragmentnewInstance("Hello Chat");
fragmentsListadd(activityfragment);
fragmentsListadd(groupFragment);
fragmentsListadd(friendsFragment);
fragmentsListadd(chatFragment);
mPagersetAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList));
mPagersetCurrentItem(0);
mPagersetOnPageChangeListener(new MyOnPageChangeListener());
}
你就是想在fragment调用父activity的方法对吧,很简单的,你在fragment里面定义一个接口,在onatt这个方法里面得到activity,然后在activity实现接口方法,然后你就可以调用了
在构造方法,或者set方法等注入fragment,类似很多自定义控件使用Context一样。
可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。
使用Fragment时,需要继承Fragment或者Fragment的子类(DialogFragment, ListFragment, PreferenceFragment, WebViewFragment)。
以上就是关于怎么获取fragment中的view全部的内容,包括:怎么获取fragment中的view、如何在Fragment中获取Activity、如何在Fragment中获取FragmentActivity中的布局等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)