Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从片段内部以编程方式设置ViewPager选项卡?_Java_Android_Android Fragments_Android Viewpager - Fatal编程技术网

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

Java 如何从片段内部以编程方式设置ViewPager选项卡?,java,android,android-fragments,android-viewpager,Java,Android,Android Fragments,Android Viewpager,我有一个数据库,它提供了一个字符串数组,可以从片段中访问。我希望这些字符串返回到附加到片段的活动,并在ViewPager中设置选项卡的标题。我该怎么做 我想这样做: 数据库字符串[]→ 碎片→ 附加活动的ViewPager→ 新的 标签 编辑:这是我的全部活动和PagerAdapter 这是我的片段假设你有一个字符串数组,你想把它们从片段发送到你的活动,制作一个界面如下 public class MyFragment extends Fragment { CustomStrings mCallb

我有一个
数据库
,它提供了一个
字符串数组
,可以从
片段
中访问。我希望这些字符串返回到附加到片段的活动,并在
ViewPager
中设置选项卡的标题。我该怎么做

我想这样做:

数据库字符串[]→ 碎片→ 附加活动的ViewPager→ 新的 标签

编辑:这是我的全部活动和PagerAdapter


这是我的片段

假设你有一个
字符串数组
,你想把它们从
片段
发送到你的
活动
,制作一个
界面
如下

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();
}

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

制作一个自定义的
接口,
并将其附加到
片段
,然后
活动中实现该接口
您将收到
回调
您能举个例子吗?请检查下面的答案,然后发布您的活动,ViewPagerAdapter和片段代码。完成后,检查帖子。我没有在活动中收到
字符串
s,我从
片段
中检索它们在您接收片段中的字符串时使用此选项,您将在活动的
onStringRecieved
方法中使用它们好的,让我试试。完成后,检查帖子。添加
Toast.makeText(getContext(),“”+strings,Toast.LENGTH_SHORT)。show()在活动onReceive中