
嗨,我正在创建一个包含ListvIEw的片段.每当我运行代码时,我在My Fragment中得到一个java.lang.nullpointerexception.错误日志表明问题在于行号. 24
第24行:ListVIEw messsagesListVIEw =(ListVIEw)getVIEw.findVIEwByID(R.ID.messages_List)
这是我的代码:
我的片段类:
public class MessageFragment extends Fragment {private List<MessageItem> messagesList = new ArrayList<MessageItem>();@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { // Todo auto-generated method stub ListVIEw messagesListVIEw = (ListVIEw) getVIEw() .findVIEwByID(R.ID.messages_List); populateMessagesList(); ArrayAdapter<MessageItem> messagelistadapter = new Messagelistadapter(); messagesListVIEw.setAdapter(messagelistadapter); return inflater.inflate(R.layout.messages_fragment, container);}public voID populateMessagesList() { messagesList.add(new MessageItem("Gary Walts", "10/13/2013, 5:31:55 PM", "22")); messagesList.add(new MessageItem("Martha Flames", "10/13/2013, 6:32:35 PM", "41")); messagesList.add(new MessageItem("Jack Bones", "10/12/2013, 9:45:32 AM", "165")); messagesList.add(new MessageItem("Chitambaram Patel", "10/07/2013, 5:31:55 PM", "21")); messagesList.add(new MessageItem("Sally Walts", "10/02/2013, 5:31:55 PM", "323")); messagesList.add(new MessageItem("Setina Gabriole", "09/24/2013, 5:31:55 PM", "257")); messagesList.add(new MessageItem("Carl Fosters", "09/15/2013, 5:31:55 PM", "22"));}class Messagelistadapter extends ArrayAdapter<MessageItem> { public Messagelistadapter() { super(getActivity(), R.layout.messages_List_item, messagesList); // Todo auto-generated constructor stub } @OverrIDe public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { // Todo auto-generated method stub VIEw itemVIEw = convertVIEw; if (itemVIEw == null) { itemVIEw = getActivity().getLayoutInflater().inflate( R.layout.messages_List_item, parent, false); } MessageItem messageItem = messagesList.get(position); TextVIEw frIEndname = (TextVIEw) itemVIEw .findVIEwByID(R.ID.frIEnd_name); frIEndname.setText(messageItem.getFrIEndname()); TextVIEw dateAndTime = (TextVIEw) itemVIEw .findVIEwByID(R.ID.date_time); dateAndTime.setText(messageItem.getDateAndTime()); TextVIEw numberOfMessages = (TextVIEw) itemVIEw .findVIEwByID(R.ID.number_messages); numberOfMessages.setText(messageItem.getNumberOfMessages()); return itemVIEw; }}}为什么会这样?提前致谢.
解决方法:
试试这个
VIEw v = inflater.inflate(R.layout.messages_fragment, null); ListVIEw messagesListVIEw = (ListVIEw) v .findVIEwByID(R.ID.messages_List); return v;或者在getVIEw中返回
return inflater.inflate(R.layout.messages_fragment, null);然后
public voID onActivityCreated(Bundle savedInstanceState) { VIEw v= getVIEw(); ListVIEw messagesListVIEw = (ListVIEw) v.findVIEwByID(R.ID.messages_List); ... // rest of the code} 总结 以上是内存溢出为你收集整理的在Android Fragment中获取Java.Lang.NullPointerException全部内容,希望文章能够帮你解决在Android Fragment中获取Java.Lang.NullPointerException所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)