在Android Fragment中获取Java.Lang.NullPointerException

在Android Fragment中获取Java.Lang.NullPointerException,第1张

概述嗨,我正在创建一个包含listview的片段.每当我运行代码时,我在MyFragment中得到一个java.lang.nullpointerexception.错误日志表明问题在于行号.24第24行:ListViewmesssagesListView=(ListView)getView.findViewById(R.id.messages_list)这是我的代码:我的片段类:publicclass

嗨,我正在创建一个包含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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1116065.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存