class MainActivity : AppCompatActivity() {
private val mainViewModel: MainActivityViewModel by viewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val listener = View.OnClickListener {
when (it) {
decreaseValue -> MyView.radius -= 2
increaseValue -> MyView.radius += 2
setRed -> MyView.whatColor = 1
setBlue -> MyView.whatColor = 2
setYellow -> MyView.whatColor = 3
setGreen -> MyView.whatColor = 4
setBlack -> MyView.whatColor = 0
}
}
...
}
}
MainActivity.kt
private const val TAG = "MyView"
class MyView(context: Context?) : View(context) {
var p1 = Paint()
var p2 = Paint()
var p3 = Paint()
var p4 = Paint()
var p5 = Paint()
var myData_x = IntArray(30000)
var myData_y = IntArray(30000)
var myData_color = IntArray(30000)
var radiusArray = IntArray(30000)
companion object {
var radius = 15
var whatColor = 0
}
var dataNumber = 0
var mx = 0
var my = 0
...
}
我的视图.kt
<....MyView
android:id="@+id/paint_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
我想防止我的数据旋转设备。而不是使用android:configChanges="orientation|keyboardHidden",我想使用 ViewModel。我该怎么做?我要保留的是 mydata_x、mydata_y、mydata_color、var radiusarray。当我将 mydata 变量作为 livedata 传递时,它总是会抛出错误。