Java Android ImageButton事件不会在第一次单击时执行所有操作

Java Android ImageButton事件不会在第一次单击时执行所有操作,java,android,kotlin,buttonclick,android-imagebutton,Java,Android,Kotlin,Buttonclick,Android Imagebutton,我有一个按钮可以删除活动屏幕上的所有数据(图表、数据库数据和文本视图),并显示一个祝酒词。 按下按钮除了删除文本视图(只在第二次按下时发生)之外,还可以执行其他操作。代码在onCreate中。为什么会发生这种情况?我如何修复它?谢谢:) findviewbyd(R.id.delete\u btn).setOnClickListener{ pieChart.visibility=View.GONE textView.visibility=View.GONE appsViewModel.remove

我有一个按钮可以删除活动屏幕上的所有数据(图表、数据库数据和文本视图),并显示一个祝酒词。 按下按钮除了删除文本视图(只在第二次按下时发生)之外,还可以执行其他操作。代码在onCreate中。为什么会发生这种情况?我如何修复它?谢谢:)

findviewbyd(R.id.delete\u btn).setOnClickListener{
pieChart.visibility=View.GONE
textView.visibility=View.GONE
appsViewModel.removeAll()
Toast.makeText(此“已成功删除所有”,Toast.LENGTH\u SHORT.show())
}

正如@mayurgajra让我意识到的那样,其他一些代码干扰了textView中的更改。我用一个布尔值解决了这个问题。我在ImageButton事件中将其设置为true,现在,如果布尔值为false,我只在其他代码中修改textview可见性

private var deleted: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) {
        ...
        findViewById<ImageButton>(R.id.delete_btn).setOnClickListener {
            pieChart.visibility = View.GONE
            totalUsage.visibility = View.GONE
            deleted = true
            appsViewModel.removeAll()
            Toast.makeText(this, "Successfully deleted all", Toast.LENGTH_SHORT).show()
        }
}

private fun otherMethod(){
           ...
           if (!deleted) {
                  totalUsage.text = "Total usage today: $hour"
                  totalUsage.visibility = View.VISIBLE
           }
}
private var已删除:Boolean=false
重写创建时的乐趣(savedInstanceState:Bundle?){
...
findViewById(R.id.delete_btn).setOnClickListener{
pieChart.visibility=View.GONE
totalUsage.visibility=View.GONE
已删除=真
appsViewModel.removeAll()
Toast.makeText(此“已成功删除所有”,Toast.LENGTH\u SHORT.show())
}
}
私有方法(){
...
如果(!已删除){
totalUsage.text=“今天的总使用量:$hour”
totalUsage.visibility=View.VISIBLE
}
}

您如何找到其他视图?能否给我们一个更大的图片?是否还有其他地方
textView.visibility
发生变化?如果有更多的代码就好了。看看发生了什么。谢谢你的提问。我需要向你们展示很多代码,这是一项大学作业,所以我必须将其最小化。但我明白这很难想象。在create时调用的函数中,textview的可见性也会发生变化。我试着把这个东西挪动一下,后来又叫它,但没什么区别
private var deleted: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) {
        ...
        findViewById<ImageButton>(R.id.delete_btn).setOnClickListener {
            pieChart.visibility = View.GONE
            totalUsage.visibility = View.GONE
            deleted = true
            appsViewModel.removeAll()
            Toast.makeText(this, "Successfully deleted all", Toast.LENGTH_SHORT).show()
        }
}

private fun otherMethod(){
           ...
           if (!deleted) {
                  totalUsage.text = "Total usage today: $hour"
                  totalUsage.visibility = View.VISIBLE
           }
}