如何以编程方式从片段内部设置ViewPager选项卡?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何以编程方式从片段内部设置ViewPager选项卡?相关的知识,希望对你有一定的参考价值。

我有一个database,提供一系列Strings,从Fragment访问。我希望这些字符串返回到Fragment附带的活动,并在ViewPager中设置标签的标题。我怎样才能做到这一点?

这就是我想要的方式:

数据库字符串[]→片段→附加活动的ViewPager→新选项卡

编辑:这是我的整个活动和PagerAdapter code

这是我的碎片code

答案

假设你有Strings数组,并且想要从activity将它们发送到你的Fragment,那就像interface一样

public class MyFragment extends Fragment {
CustomStrings mCallback;

// Container Activity must implement this interface
public interface CustomStrings {
    public void onStringRecieved(String[] stringss);
} 


@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);

    // This makes sure that the container activity has implemented
    // the callback interface. If not, it throws an exception
    try {
        mCallback = (CustomStrings) activity;
    } catch (ClassCastException e) {
        throw new ClassCastException(activity.toString()
                + " must implement OnHeadlineSelectedListener");
    }
}

然后在需要发送数据时简单地使用它

mCallback.onStringRecieved(yourStrings); //your data here

然后在你的活动中实现它

public class MainActivity extends Activity
    implements MyFragment.CustomStrings{
...

public void onStringRecieved(String[] stringss) {

    // Do something here to use these strings
    Toast.makeText(getContext(), ""+strings, Toast.LENGTH_SHORT).show();
}

希望这能解决您的问题,有关更多信息,请参阅this

以上是关于如何以编程方式从片段内部设置ViewPager选项卡?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式通过 Main Activity 在 ViewPager 中更新刷新片段

ViewPager2:以编程方式选择特定片段

以编程方式切换片段

以编程方式设置 ViewPager 高度会自动滚动到最底部

ViewPager 问题中的片段

刷新标签片段和 viewpager