获取JSON数据后如何运行下一个方法?

时间:2019-04-18 04:31:34

标签: java android

通常,如果我通过API调用接收到JSONdata,则该函数将通过重写方法在单独的线程中执行。

因此,如果我想运行下一个方法,我应该在覆盖的响应方法中编写函数代码。

但是我不想这样做,而是希望将数据传递到另一个片段,并在另一个片段中使用数据。

问题在于,由于分别执行了response方法,该函数无法顺序执行,因此在接收下一个片段的部分中会出现空点错误。

在这种情况下,您通常做什么?

tr.highlighted td {
  background: red;
}

1 个答案:

答案 0 :(得分:0)

尝试类似的操作

  private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());


    bundle = new Bundle();
    bundle.putString("key", "your data here");

    final OneFragment one= new AllFragment();
    final TwoFragment two= new BeautyFragment();

    one.setArguments(bundle);
    two.setArguments(bundle);

    adapter.addFragment(one, "ONE");
    adapter.addFragment(two, "TWO");

    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}

在您的片段中

  Bundle  bundle = this.getArguments();
  String data= bundle.getString("key");