提问者:小点点

查看BottomNavigation片段中的pager2


我在底部导航中有两个Fragment,Frag1和Frag2,并且在Frag1中我通过viewmodel(MVVM)实现了改型。。。。。当我试图通过viewpager2中的按钮发送查询到Frag1时。。。GetActivity为空。。。还附加分离不工作。。。

请提出一些办法。


共1个答案

匿名用户

在activity_main.xml布局中实现如下片段:

<fragment
            android:id="@+id/frag1"
            android:name="com.example.app.Frag1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:layout="@layout/frag1" />
<fragment
            android:id="@+id/frag2"
            android:name="com.example.app.Frag2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:layout="@layout/frag2" />

现在在mainactivity.java文件中:

FragmentManager manager;
Frag1 frag1;
Frag2 frag2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    manager = getSupportFragmentManager();

    frag1 = (Frag1) manager.findFragmentById(R.id.frag1);
    frag2 = (Frag1) manager.findFragmentById(R.id.frag2);
}

public void sendToFrag1(Object data){
    frag1.reciveDataHere(data);
}

Java:

public void recieveDataHere(Object data){
    //you get data here
}

要发送数据,请执行以下操作:

((MainActivity) getActivity()).sendToFrag1(data);

或((MainActivity)getContext()).SendToFrag1(data);