执行http请求并使用接口知道其完整时间
在我的主要活动中,我正在附加我的片段
public class HomeActivity extends SharedBaseActivity implements HomeCategories.OnFragmentInteractionListener,
onGeneralApiRequest{
@Override
protected void onCreate(Bundle savedInstanceState) {
loadfragment(0)
}
void loadFragment(int position) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
HomeCategories categories = new HomeCategories(); ///the fragment
switch(position){
case 0:{
fragmentTransaction.replace(R.id.home_fragment_loader, categories);
break;
}
}
}
@Override //this is an overide for the apiresponse callback
public void onApiResponse(JSONObject response) {
//here am stuck
//am supposed to call the loaded fragment above and execute a function on the fragment class
}
}
现在在home类别片段中,我有一个设置数据的方法
setData(DataModel data){
categories = data; //sets the categories
}
现在从上面的代码中我想检索加载的片段并在片段上调用方法setData。那就是我有其他片段在交换机案例块中动态加载。 我已将setData方法添加到所有这些(片段)
我的设置的附加信息
对于xml中的id home_fragment_loader,它看起来像
//...other parts of the layout
<ScrollView
android:layout_width="match_parent"
android:background="@color/lightgren"
android:layout_below="@+id/bar_toolbar"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/home_fragment_loader"
></RelativeLayout>
</ScrollView>
对于onGeneralApiRequest,它是一个位于自己的类
上的接口public interface OnGeneralApirequest {
void onApiResponse(JSONObject response);
void onErrorResponse(VolleyError error);
}
我已经检查了This question,但它没有显示如何检索加载的片段并在其中执行方法
答案 0 :(得分:1)
Unsupported ioctl: cmd=0xffffffffc0046209
Unsupported ioctl: cmd=0x40046205
Binder driver could not be opened. Terminating.
然后你可以使用
进行检索getSupportFragmentManager().beginTransaction().
replace(R.id.home_fragment_loader, categories, "HomeTag").
commit();