activity向fragment传递bundle对象时getString方法有空指针异常
这是一个我觉得很奇怪的事情,我想把一个由activity传过来的HashMap的内容放到listView中
private ListView mListView=null;//listViewprivate SimpleAdapter sim_adapter;//简单适配器private ListdateList;//数据源HashMap freList=null;public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment_fre_list,null); mListView=(ListView) view.findViewById(R.id.listView); Bundle bundle=getArguments();//可以很确定这个bundle一定是接收到了的,可奇怪就奇怪在这个地方 SerMap serializableMap = (SerMap) bundle.get("freList"); //定义SerMap方法(这是我自己写的一个方法可以吧HashMap serializable化) freList=serializableMap.getMap(); dateList=new ArrayList(); dateList=getData(); sim_adapter=new SimpleAdapter(getActivity(),dateList,R.layout.item,new String[]{"friend","newCount"},new int[]{R.id.friend,R.id.newCount}); mListView.setAdapter(sim_adapter); return view;}这是定义数据源的getData方法
private List getData(){ int k=freList.size();//得到map的长度 Object[] keys = freList.keySet().toArray(); Object[] values = freList.values().toArray();//键和值都分别转换为数组 /* for (i=0;i如果把接下来的for循环注释掉这个循环可以正常输出 而如果把这段注释掉运行接下来的循环就会报数组越界的异常。 for(int i=0;i |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|