我正在动态创建弹出式菜单,其中的项目将从Web服务中填充。如何从BaseAdapter类访问活动java类中的List <>数组
情况是,解析已在MainActivity.java
中,但弹出式菜单位于BaseAdapter.java
类内。我将所有的菜单项MainActivity.java
里的数组中。请参考下面的代码:
try {
JSONArray jsonArray = new JSONArray(menuItemsResponse.toString());
for (int i = 0; i < jsonArray.length(); i++){
JSONObject object = jsonArray.getJSONObject(i);
String strMenuItemNames = object.getString("Name");
listMenuItems.add(strMenuItemNames);
}
} catch (Exception e) {
e.printStackTrace();
}
我加入项目内List<String> listMenuItems
与listMenuItems.add(strMenuItemNames)
。
现在,我想从BaseAdapter类访问此listMenuitems
。下面是BaseAdapter类我的弹出菜单里面的代码getView()
方法:
PopupMenu popupMenu = new PopupMenu(activity, imgDropDown);
popupMenu.getMenu().add() // array to be added here
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener({
// on click events for each item
});
任何与解决方案请回复。
提前致谢!
有一个名为getItem(int position)的方法,您可以从该方法返回相同的实例并调用adapter.getItem()。 –