我有一个片段寄存器。这个里面有一个视图寻呼机。我需要每个页面将数据放入寄存器hashmap变量。这是我尝试过的..

这是我想从每个页面访问的一种方法

public void addData(String key, String data){
     Toast.makeText(this.getActivity(), data, Toast.LENGTH_LONG).show();
}


我试过像:

FragmentManager fm = getFragmentManager();
fragment = (ArtistRegister)fm.findFragmentById(R.id.asd);
fragment.addData("asd", asd);


但它总是返回null指针..

最佳答案

第一个解决方案:

ArtistRegister artistRegister = ((ArtistRegister) getParentFragment());
artistRegister.addData("asd", "asd");


第二种解决方案:

创建interface并将其作为PagerAdapter构造函数的参数传递。

编辑:

OP使用getFragmentManager()而不是getChildFragmentManager()来初始化适配器,因此他一直在获取NullPointerExpception

08-05 03:43