如何在Activity中获取Fragment的组件

好技术搬运工 2016-03-15 12:10:29
我想在Activity中获取Fragment的TextView组件---> childlost ,试过了好多办法都不行,基本上都时返回空指针异常,或者没反应,求各路大神帮帮忙,这个问题搞了我好几天了,食寝不安啊



这是Fragment的代码

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view=inflater.inflate(R.layout.firstpage, container,false);
return view;
}


这是Fragment (名字是FirstPageFragment)对应的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="#EEEDEF"
android:orientation="vertical" >



<TextView
android:id="@+id/childlost"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:padding="10dp"
android:text=" 儿童走失" />
</LinearLayout>


这是activity的代码
public class MainActivity extends FragmentActivity{
private TextView child;

private FirstPageFragment tab01;

private List<Fragment> mDatas;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initView();
}


//初始化各控件
private void initView() {
mDatas=new ArrayList<Fragment>();
tab01=new FirstPageFragment();
mDatas.add(tab01);

}
}

...全文
2046 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
好技术搬运工 2016-03-21
  • 打赏
  • 举报
回复
引用 6 楼 Ryanlfy 的回复:
加一个activity_fragment.xml布局文件,简单写一下托管的布局加上id就可以用 getFragmentManager().findFragmentById(id).getView().findViewById(id)
好的,我试一下,谢谢
small_technical 2016-03-15
  • 打赏
  • 举报
回复
你直接在Fragment中获取到,再传递给activity就行了
好技术搬运工 2016-03-15
  • 打赏
  • 举报
回复
搞得我好难过,求帮忙,谢谢.
Ryanlfy 2016-03-15
  • 打赏
  • 举报
回复
加一个activity_fragment.xml布局文件,简单写一下托管的布局加上id就可以用 getFragmentManager().findFragmentById(id).getView().findViewById(id)
好技术搬运工 2016-03-15
  • 打赏
  • 举报
回复
引用 3 楼 qq_27665781 的回复:
getFragmentManager().findFragmentById(id).getView().findViewById(id)
这个我试过了,不行,因为我的fragment不是写在xml文件里面的,没有id..还有其他方法吗?
好技术搬运工 2016-03-15
  • 打赏
  • 举报
回复
引用 2 楼 small_technical 的回复:
你直接在Fragment中获取到,再传递给activity就行了
这个我知道,但是activity在什么时候获取fragment的控件才合适呢,根据你的方法一直返回空指针异常,心都碎了
qq_27665781 2016-03-15
  • 打赏
  • 举报
回复
getFragmentManager().findFragmentById(id).getView().findViewById(id)

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧