作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
开始吧,我需要初始化一系列 fragment 类;之后,我做了一些网络请求;加载完所有数据后,我需要将我指定的数据从 Activity 传输到 Fragment,但我不知道这个过程。
代码如下:
private Class[] mFragmentClasses = {GoodDetailsFragment.class,GoodDetailsArgumentsFragment.class};
mIndicator.setViewPager(mViewPager);
mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return mFragmentClasses.length;
}
@Override
public Fragment getItem(int position) {
try {
return (Fragment) mFragmentClasses[position].newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return null;
}
};
mViewPager.setAdapter(mAdapter);
那么我如何在加载网络数据后立即更新来自 Fragment 的数据。
最佳答案
一旦网络请求完成并且 Activity 处理完数据,它就可以使用接口(interface)
将其传递给 fragment 。
Activity :
public class MainActivity extends Activity
{
public interface onDataLoadedListener
{
public void onDataLoaded(String receivedData);
}
onDataLoadedListener onDataLoadedListener;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Fragment fragment = new MyFragment();
onDataLoadedListener = fragment;
}
// Some method called when you receive the data
public void onDataReceived(String receivedData)
{
onDataLoadedListener.onDataLoaded(receivedData);
}
}
fragment :
public class MyFragment extends Fragment implements onDataLoadedListener
{
@Override
public void onDataLoaded(receivedData)
{
// Handle the received data accordingly
}
}
关于android - Activity加载完数据后如何将数据从Activity设置到Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084128/
我们面临一个用例,我们需要在 S3 上存储用户的 secret 图像。现在 S3 可以通过 HTTP 访问,如果我们授予对对象的读取权限,它们将通过 Web 提供给全世界。我们需要将图像/文件仅限于该
我是一名优秀的程序员,十分优秀!