android 可疑的缩进:这是缩进的,但不继续前一个表达式

4zcjmb1e  于 2022-12-09  发布在  Android
关注(0)|答案(1)|浏览(522)

Android Studio显示我的代码行下方有红线的这个问题
“狐疑缩进:这是缩进的,但不是上一个表达式(binding.cllInternetA...)的继续(此处为上一个语句)”

override fun onResume() {
    super.onResume()
    //Clear search edit text
    binding.etSearch.text?.clear()

    lookUpNumberVM.isInternetLiveData.observe(viewLifecycleOwner) {
        if (it) {
            binding.cllMain.visibility = View.VISIBLE
            binding.cllInternetAvailability.visibility = View.GONE
        } else {
            binding.cllMain.visibility = View.GONE
            binding.cllInternetAvailability.visibility = View.VISIBLE
              makeSnackBar(binding.root,"No internet connection")
        }
    }
}

我代码是上面,你可以看到问题的截图附件。我会非常感谢你的努力。

bihw5rsg

bihw5rsg1#

正如hata在他的评论中指出的,这可能是makeSnackBar行的额外意图(+2个空格)。注意,你可以通过用分号结束代码语句来避免这样的问题,这通常是推荐的。这也提高了可读性。所以:

override fun onResume() {
    super.onResume();
    //Clear search edit text
    binding.etSearch.text?.clear();

    lookUpNumberVM.isInternetLiveData.observe(viewLifecycleOwner) {
        if (it) {
            binding.cllMain.visibility = View.VISIBLE;
            binding.cllInternetAvailability.visibility = View.GONE;
        } else {
            binding.cllMain.visibility = View.GONE;
            binding.cllInternetAvailability.visibility = View.VISIBLE;
            makeSnackBar(binding.root,"No internet connection");
        }
    }
}

因此,intendation不再起作用(当然,除了可读性,所以继续使用intendation),因为编译器现在已经清楚地知道代码语句在哪里开始和结束。

相关问题