Log.d与ActionBarSherlock相关

3

我正在尝试通过将教科书示例中的一些代码添加到我的项目中来掌握LogCat。

我的项目使用ABS。

当我尝试使用:

    @Override
public void onPause(){
    super.onPause();
    Log.d(TAG,"onPause() called");
}

我遇到了这个错误:TAG在“com.actionbarsherlock.app.SherlockFragmentActivity”中具有私有访问权限。为什么会出现这个错误,我该如何解决?我在谷歌上搜索了一下,但没有找到相关的信息。

TAG 声明在哪里? - Raghunandan
谢谢!我简直不敢相信我竟然忽略了最基本的问题!! - tallpaul
2个回答

8

在父类SherlockFragmentActivity中有一个私有字段TAG,您无法使用它。

相反,您应该在自己的类中指定自己的标签,例如:

private static final String TAG = YourActivity.class.getSimpleName();

0

Log.d(String param1, String param2) 接受两个参数:

  • param1:用作标识您在 Logcat 中记录的日志的字符串
  • param2:要在日志中显示的第二个字符串消息

示例:

Log.d("MY APP LOG", "This is the message of my app's log");

因此,将TAG替换为简单字符串,或在您的类中创建它作为常量

private static final String TAG = "MY_TAG";

你得到的错误信息:TAG has private access in 'com.actionbarsherlock.app.SherlockFragmentActivity' 意味着你正在尝试访问一个非 public 的变量 TAG。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接