我如何在Android Studio中的片段和活动中移动数据

问题描述:

我正在创建一个应该具有viewPager和搜索片段的android应用程序。 viewpager使用两个片段,我在搜索按钮中使用了第三个片段。我如何在Android Studio中的片段和活动中移动数据

所有这些都是通过MainActivity.java互连

我想的功能,以使得当用户选择或输入的任何输入到搜索片段,该片段将在数据工作,然后将其发送主要活动。

假设用户搜索电影复仇者,他们进入搜索按钮“复仇者”,现在我将使用API​​,所以搜索片段将转换成'+复仇者',然后发送到主活动。

然后主要活动将其发送到viewPager中的一个片段,然后片段将输入与主基本查询结合起来,在服务器上搜索,然后显示输出。

有人可以帮助我将数据,从字符串/整数/等格式从搜索片段移动到主要活动,然后到viewPagers!

为viewPager的源代码:

viewPager = (ViewPager) findViewById(R.id.viewPager); 
    tabLayout = (TabLayout) findViewById(R.id.tabLayout); 
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 
    tabLayout.setTabMode(tabLayout.MODE_FIXED); 

    viewPager.setAdapter(new CustomAdapter(getSupportFragmentManager(), getApplicationContext())); 
    tabLayout.setupWithViewPager(viewPager); 

    tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 
    }); 

您可以创建通信的接口和你的活动实现它。然后,在所需片段的onAttach中,获得对接口实现的引用,并且可以在每次需要时调用它。

由于您正在实施活动中的界面,因此您可以参考所有片段。

在您的情况下,可以使用称为搜索的方法定义名为Searchable的接口。你可以在Activity中和你调用它的片段搜索中实现这个接口。

你可以得到一个详细的实现和例子here