我有一个Aync任务
public class XmlNetwork extends AsyncTask< String, Void, List<PEMenuItem>
它本质上是将一个xml文件加载到一些对象中,我想用这些对象来更改我的导航抽屉菜单项。它有一个超控功能
protected void onPostExecute(List<PEMenuItem> result)
所以现在的结果是我从xml加载的3个对象的列表。
此时,我想在我的班级内打个电话
public class NavigationDrawerFragment extends Fragment
要构建菜单,请添加onclicklisteners等
我之前已经学会了如何添加一些回调,从片段调用到我的主活动,但我将如何进行相反的操作,从我的Async类调用到片段?我想把清单和它一起寄,一些类似的东西
@Override
protected void onPostExecute(List<PEMenuItem> result) {
NavigationDrawerFragment fragment = (NavigationDrawerFragment) getFragment().modifyMenu(result);
}
public class MenuItemsAdapter extends BaseAdapter {
private List<String> menuItems;
public MenuItemsAdapter(Context context) {
this.context = context;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//Empty for now
menuItems = new ArrayList<>();
}
public void setNewMenuItems(List<String> newMenuItems) {
this.menuItems = newMenuItems;
notifyDataSetChanged();
}
@Override
public int getCount() {
return menuItems.size();
}
@Override
public String getItem(int i) {
return menuItems.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if(view == null) {
view = inflater.inflate(R.layout.your_menu_item_layout, viewGroup, false);
}
TextView menuItemText = view.findViewByIt(R.id.your_menu_item_text);
menuItemText = menuItems.get(position);
return view;
}
}