当我想在日志中显示数据时出现NullPointerException

时间:2014-10-29 17:22:04

标签: java android android-layout static-methods

以下是我正在使用的数据类

数据类

public class Data {       
        private static String product;
        public static String getData() {
            return product;


}

    public static void setData(String data) {
        product = data;
        Log.d("Data", product.toString()); 
    }
}

我在下面的Fragment类中获取对象:

片段类

public class contact_details_tab extends Fragment {
     TextView hostel_name;
     JSONObject product;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
    {
        View rootView = inflater.inflate(R.layout.contact_details_tab, container, false);
        hostel_name = (TextView) rootView.findViewById(R.id.hostel_name);

        product = Data.getData();

        try {
            hostel_name.setText(product.getString("h_name"));
        } catch (JSONException e) {
            Log.d("Data", e.getMessage());
        }
        return rootView;
    }
}

当我尝试在日志中打印数据时,我总是收到错误"println needs a message"

2 个答案:

答案 0 :(得分:1)

您没有以推荐的方式使用Log方法,当传递给Log方法的null参数传递给println()时,这可能导致其实现中使用的println()机制失败。

通常,第一个参数或 TAG 应指明执行日志记录的组件的名称,例如您的Activity的名称。

第二个参数应该包含一个String,用于解释您要记录的内容,后跟值本身。

声音练习是首先在类的开头附近声明组件的TAG:

private static final String TAG = "DataClass";

然后使用说明

记录您的消息
  Log.d(TAG, "Set data to " + product); 

这样,即使product为null,它也只是将它附加到String,这是一个产生信息输出的合法操作。

答案 1 :(得分:0)

我在调用日志

时添加+""解决了这个问题