永发信息网

如何获取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中的控件引用。
全部回答
  • 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());
}追问复制粘贴有意思?
  • 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...
  }
  });
}
我之前也遇到这样的问题。
  • 3楼网友:像个废品
  • 2021-02-17 13:02
1、在Fragment中view.getActivity().findViewById(R.id.xx);
2、其中getActivity可以获取到该Fragment引用的Activity,
3、之后通过findViewById获取到其他与该Activity相关联的Fragment中的控件引用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯