相关疑难解决方法(0)

当扩展另一个类时,如何使类扩展Observable?

我正在学习Java,我希望将我的课程变成一个可观察的课程.

但是我已经扩展了另一个类.

我该怎么办?

java

24
推荐指数
1
解决办法
2万
查看次数

使用 ViewPager 从 Activity 到 Fragment 的通信

我有一个 Activity 和两个 Fragment,其中tablayout包含viewpager. 现在我可以通过实现谷歌的指南回调接口从片段到活动进行通信。但是我怎样才能以另一种方式从 Activity 到 Fragment进行通信呢?如果活动中发生了一些事情(外部事件),我想更新片段。我设法获得了 Frag1 片段

MyFragmentPagerAdapter a = (MyFragmentPagerAdapter) viewPager.getAdapter();
Frag1 frag = (Frag1) a.getItem(0);
Run Code Online (Sandbox Code Playgroud)

但是当我在 frag 上调用公共方法时,我得到一个 IllegalStateException: Fragment not Attached to Activity 可能是因为 getItem(0) 返回 Frag1 的新实例并且尚未附加...有没有人可以为此提供干净的解决方案整个 Viewpager -> Activity 到 Fragment 通信?

一些代码给你:

在活动中:

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

        ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
        if (viewPager != null) {
            viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager()));
        }

        TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
        if (tabLayout != null) {
            tabLayout.setupWithViewPager(viewPager); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-activity android-tablayout

5
推荐指数
1
解决办法
1万
查看次数