如何获取fragment里的控件
答案:4 悬赏:80 手机版
解决时间 2021-02-17 16:00
- 提问者网友:棒棒糖
- 2021-02-17 10:35
如何获取fragment里的控件
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-02-17 12:01
1、在Fragment中view.getActivity().findViewById(R.id.xx);
2、其中getActivity可以获取到该Fragment引用的Activity,
3、之后通过findViewById获取到其他与该Activity相关联的Fragment中的控件引用。
2、其中getActivity可以获取到该Fragment引用的Activity,
3、之后通过findViewById获取到其他与该Activity相关联的Fragment中的控件引用。
全部回答
- 1楼网友:人類模型
- 2021-02-17 15:21
你的Activity里面注册过fragment吗?
像这样========》
private void InitViewPager() {
mPager = (ViewPager) findViewById(R.id.vPager);
fragmentsList = new ArrayList();
Fragment activityfragment = TestFragment.newInstance("Hello Activity.");
Fragment groupFragment = TestFragment.newInstance("Hello Group.");
Fragment friendsFragment=TestFragment.newInstance("Hello Friends.");
Fragment chatFragment=TestFragment.newInstance("Hello Chat.");
fragmentsList.add(activityfragment);
fragmentsList.add(groupFragment);
fragmentsList.add(friendsFragment);
fragmentsList.add(chatFragment);
mPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
}追问复制粘贴有意思?
像这样========》
private void InitViewPager() {
mPager = (ViewPager) findViewById(R.id.vPager);
fragmentsList = new ArrayList
Fragment activityfragment = TestFragment.newInstance("Hello Activity.");
Fragment groupFragment = TestFragment.newInstance("Hello Group.");
Fragment friendsFragment=TestFragment.newInstance("Hello Friends.");
Fragment chatFragment=TestFragment.newInstance("Hello Chat.");
fragmentsList.add(activityfragment);
fragmentsList.add(groupFragment);
fragmentsList.add(friendsFragment);
fragmentsList.add(chatFragment);
mPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());
}追问复制粘贴有意思?
- 2楼网友:持酒劝斜阳
- 2021-02-17 13:57
不能在onCreate函数中获取控件,以为fragment还没有start,你可以在onStart函数中获取:
@Override
protected void onStart() {
super.onStart();
View view = this.findViewById(R.id.btnTest);
view.setOnClickListener(new android.view.View.OnClickListener(){
public void onClick(android.view.View v) {
//TODO...
}
});
}
我之前也遇到这样的问题。
@Override
protected void onStart() {
super.onStart();
View view = this.findViewById(R.id.btnTest);
view.setOnClickListener(new android.view.View.OnClickListener(){
public void onClick(android.view.View v) {
//TODO...
}
});
}
我之前也遇到这样的问题。
- 3楼网友:像个废品
- 2021-02-17 13:02
1、在Fragment中view.getActivity().findViewById(R.id.xx);
2、其中getActivity可以获取到该Fragment引用的Activity,
3、之后通过findViewById获取到其他与该Activity相关联的Fragment中的控件引用。
2、其中getActivity可以获取到该Fragment引用的Activity,
3、之后通过findViewById获取到其他与该Activity相关联的Fragment中的控件引用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯