我是android编程的初学者。我目前正在使用Android Studio 3.2.1。 我试图监视日志中android活动的不同状态。我已经编写了如下所示的代码,但是我一直收到错误消息:
无法访问“ TAG”:在“ AppCompatActivity”中它是不可见的(父类型中为私有)。
即使经过搜索,我也无法弄清错误。可以帮忙吗? 代码:
package com.cooperation.bestech.test1
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log;
class MainActivity : AppCompatActivity() {
private static final String TAG = "MyMessage";
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.i(TAG, "onCreate");
}
override fun onStart() {
super.onStart()
Log.i(TAG, "onStart");
}
override fun onPause() {
super.onPause()
Log.i(TAG, "onPause");
}
override fun onResume() {
super.onResume()
Log.i(TAG, "onResume");
}
override fun onStop() {
super.onStop()
Log.i(TAG, "onStop");
}
override fun onRestart() {
super.onRestart()
Log.i(TAG, "onRestart");
}
override fun onDestroy() {
super.onDestroy()
Log.i(TAG, "onDestroy");
}
override fun onSaveInstanceState(outState: Bundle?) {
super.onSaveInstanceState(outState)
Log.i(TAG, "onSaveInstanceState");
}
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
super.onRestoreInstanceState(savedInstanceState)
Log.i(TAG, "onRestoreInstanceState");
}
}
答案 0 :(得分:0)
您似乎正在使用Kotlin。因此,您需要以kotlin方式定义TAG:
In Kotlin constants located in the companion object:
class MyClass {
companion object {
private val TAG = "ClassName"
}
}
答案 1 :(得分:0)
由于原始问题是用Kotlin编写的(摘自注释),因此忽略“启动Java项目而不是默认Kotlin”的请求可能是一个更好的解决方案。
然后,使用正确的方式声明和分配变量,您的代码段应如下所示:
class MainActivity : AppCompatActivity() {
val TAG = "MyMessage"
答案 2 :(得分:0)
import android.content.ContentValues.TAG