记录一下学习Android时遇到一些问题

实在是不擅长Android开发,但在努力的学习当中。这篇文章就记录一下学习过程中,自己犯下的一些错误,同时也让自己记住别再犯同样的错误了。各位看官勿见笑!


一个关于空指针的错误

错误类型一:

  未对对象进行初始化导致了空指针的错误。类似于如下:

public void onActivityCreated(Bundle savedInstanceState) {

        super.onActivityCreated(savedInstanceState);
        Log.i(TAG, "------onActivityCreated------");

         //未对db_manager进行初始化,就是下面的new,直接就调用了最后一句
        db_manager = new DatabaseManager(context);
        totalCount = db_manager.getTotalCount();

  实在是忘记了对其进行初始化,通过错误寻找,然后找到了原因。解决这个问题的时候,先根据错误提示,找到错误的行,然后根据错误类型预判什么位置出错了,当所有想到的方法都用尽了,才寻找其他人帮助。也许这就是成长之路。

错误类型二:

  重复对对象进行申明了(不知道描述是否正确?望批正),类似如下:

public class NoteFragment extends ListFragment implements OnScrollListener,
        OnClickListener {

    public static final String TAG = "NoteFragment";
    public Context context; // 存储上下文对象
    public Activity activity;

    private Thread mThread;
    // 已经定义了一个全局的适配器adapter     ----1
    private SimpleAdapter adapter;
    .......  
}
public void onActivityCreated(Bundle savedInstanceState) {

        super.onActivityCreated(savedInstanceState);
        Log.i(TAG, "------onActivityCreated------");
        ......
        //此处重复的申明一个adapter,实际应该去掉SimpleAdapter,此类型上当了两次
        SimpleAdapter adapter = new SimpleAdapter(getActivity(), listItems,
                R.layout.note_list_item, new String[] { "tvNoteTitle",
                        "tvNoteContent", "tvNoteCreateTime" }, new int[] {
                        R.id.tvNoteTitle, R.id.tvNoteContent,
                        R.id.tvNoteCreateTime });
        setListAdapter(adapter);
        
        ......

}

现在简单的记录一下这些问题,第一个错误类型比较好理解,第二个暂时还不了解其原理,有空的时候细究一下,然后再补充进来

 

我在慢慢的找到自己的节奏,2015年,来一个小小的转变,Fighting!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。