E/AndroidRuntime:致命异常:main
进程:za.co.riggaroo.motioncamera,pid:17583 kotlin.typeCastException:null不能强制转换为非空类型kotlin.boolean(位于za.co.riggaroo.motioncamera.mainactivity$setuparmsystemtogle$2.ondatachange(mainactivity.kt:42)(位于com.google.android.gms.internal.to.zza(未知源)(位于com.google.android.gms.internal.vj.zzhx(未知源)(位于
package za.co.riggaroo.motioncamera
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.support.v7.widget.SwitchCompat
import android.util.Log
import android.widget.ImageView
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.FirebaseDatabase
import com.google.firebase.database.ValueEventListener
class MainActivity : AppCompatActivity() {
private lateinit var adapter: LogsAdapter
private lateinit var armSystemToggleButton: SwitchCompat
private lateinit var armSystemImageView: ImageView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setupMotionLogsRecyclerView()
setupArmSystemToggle()
}
private fun setupArmSystemToggle() {
armSystemToggleButton = findViewById(R.id.switch_arm_system)
armSystemImageView = findViewById(R.id.image_view_arm_system)
val armedValue =
FirebaseDatabase.getInstance().getReference(SYSTEM_ARMED_STATUS_FIREBASE_REF)
armSystemToggleButton.setOnCheckedChangeListener { _, checkedValue ->
armedValue.setValue(checkedValue)
}
armedValue.addValueEventListener(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
Log.d(ACT_TAG, "onDataChange:" + dataSnapshot.toString())
val isArmed = dataSnapshot.value as Boolean
toggleUIState(isArmed)
}
override fun onCancelled(p0: DatabaseError?) {
}
})
}
private fun toggleUIState(isArmed: Boolean) {
armSystemToggleButton.isChecked = isArmed
armSystemToggleButton.text = if (isArmed) {
getString(R.string.system_armed)
} else {
getString(R.string.system_unarmed)
}
val armedImageResource = if (isArmed) {
R.drawable.ic_armed
} else {
R.drawable.ic_not_armed
}
armSystemImageView.setImageResource(armedImageResource)
}
private fun setupMotionLogsRecyclerView() {
val recyclerViewImages = findViewById<RecyclerView>(R.id.recyclerViewImages)
recyclerViewImages.isNestedScrollingEnabled = false
val databaseRef = FirebaseDatabase.getInstance().getReference(MOTION_LOGS_FIREBASE_REF)
adapter = LogsAdapter(databaseRef.orderByChild(ORDER_BY_TIMESTAMP).ref)
val linearLayoutManager = LinearLayoutManager(this)
linearLayoutManager.reverseLayout = true
linearLayoutManager.stackFromEnd = true
recyclerViewImages.layoutManager = linearLayoutManager
recyclerViewImages.adapter = adapter
}
override fun onDestroy() {
super.onDestroy()
adapter.cleanup()
}
companion object {
private const val ORDER_BY_TIMESTAMP = "timestamp"
private const val ACT_TAG: String = "MainActivity"
private const val MOTION_LOGS_FIREBASE_REF = "motion-logs"
private const val SYSTEM_ARMED_STATUS_FIREBASE_REF = "system-armed"
}
}
请在OnDataChange(..)
中尝试此操作
if(dataSnapshot.value != null) {
val isArmed = dataSnapshot.value as Boolean
toggleUIState(isArmed)
}
代码activity_lastcall.xml: 代码lastcall.java: 代码AndroidManifest.xml: 我需要得到最后一个电话,并在TextView中写入号码和姓名。
这是我的日志
运行在Nexus5(Android6.0)中的我的应用程序出现错误。 错误是
问题内容: 尽管 通过终端执行相同的命令时没有问题 , 但 我却遇到了类似执行以下命令时的异常情况 。 我需要执行并返回以下命令的输出: 这是使用类执行命令的方法: 问题答案: Runtime.exec不使用外壳程序(例如);它将命令直接传递到操作系统。这意味着将不会理解通配符(例如)和管道(),因为(像所有Unix命令一样)不会对这些字符进行任何解析。您需要使用类似 或者,如果出于某些奇怪的原因
我正在使用以下联系人获取应用程序的代码,我正在获得Android运行时:致命的异常:第17行的主要错误。 下面是我的logcat E/AndroidRuntime:致命异常:主进程:com.example.alpesh_pc.contactList,PID:3833 java.lang.RuntimeException:无法启动activity组件信息{com.example.alpesh_pc.
而且 现在我要测试代码。 我将“测试”作为java应用程序运行,得到的结果是: 谢谢大家。