当前位置: 首页 > 知识库问答 >
问题:

Android Studio:无效缓存/重启后未解决的对activity main的引用

洪飞驰
2023-03-14

所以我是编程新手,想参与其中。我开始学习Kotlin并创建了一个简单的骰子滚动应用程序,其中添加了我所学到的新功能。然而,当我按照教程学习时,那个人按下了File>InvalidadeCaches/Restart键,然后我就按下了,在那之后,一切都不起作用了,我完全被难住了。我的Mainactivity中的所有引用都未解析,我无法使其工作。

My build.gradle包含应用插件:'kotlin-android-extensions'

我的build.gradle项目包含

依赖关系{

类路径'com.android.tools.build:gradle:3.5.3'

类路径“org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”}

这就是我的研究让我得到的,但现在我被困住了。:(

这是我的代码:

package com.example.diceroller

import android.R
import android.media.MediaPlayer
import android.os.Bundle
import android.text.method.ScrollingMovementMethod
import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import java.util.*


class MainActivity : AppCompatActivity() {

    lateinit var mp: MediaPlayer
    lateinit var diceImage: ImageView
    var setDiceInt = 6
    private var mediaPlayer: MediaPlayer? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val rollButton: Button = findViewById(R.id.roll_button)
        val rollList: TextView = findViewById(R.id.roll_list)

        val fourButton: Button = findViewById(R.id.d4)
        val sixButton: Button = findViewById(R.id.d6)
        val eightButton: Button = findViewById(R.id.d8)
        val tenButton: Button = findViewById(R.id.d10)
        val twelveButton: Button = findViewById(R.id.d12)
        val twentyButton: Button = findViewById(R.id.d20)


        rollList.movementMethod = ScrollingMovementMethod()
       // mp = MediaPlayer.create(this, R.raw.) to be added later


        fourButton.setOnClickListener {
            setDiceInt = 4
            Toast.makeText(this, "$setDiceInt sided picked", Toast.LENGTH_SHORT).show()

        }

        sixButton.setOnClickListener {
            setDiceInt = 6
            Toast.makeText(this,"$setDiceInt sided picked", Toast.LENGTH_SHORT).show()

        }

        eightButton.setOnClickListener {
            setDiceInt = 8
            Toast.makeText(this,"$setDiceInt sided picked", Toast.LENGTH_SHORT).show()

        }

        tenButton.setOnClickListener {
            setDiceInt = 10
            Toast.makeText(this,"$setDiceInt sided picked", Toast.LENGTH_SHORT).show()

        }

        twelveButton.setOnClickListener {
            setDiceInt = 12
            Toast.makeText(this,"$setDiceInt sided picked", Toast.LENGTH_SHORT).show()

        }

        twentyButton.setOnClickListener {
            setDiceInt = 20
            Toast.makeText(this,"$setDiceInt sided picked", Toast.LENGTH_SHORT).show()

        }

        rollList.text = ""
        rollButton.text = "Lets roll!"

        rollButton.setOnClickListener {
            rollDice()
        }

        diceImage = findViewById(R.id.result_image)
    }


    fun rollDice() {
        val resultText: TextView = findViewById(R.id.result_text)
        val rollList: TextView = findViewById(R.id.roll_list)

        val randomInt = Random().nextInt(setDiceInt) +1



        val drawableResource = when (randomInt) {
            1 -> R.drawable.dice_1
            2 -> R.drawable.dice_2
            3 -> R.drawable.dice_3
            4 -> R.drawable.dice_4
            5 -> R.drawable.dice_5
            else -> R.drawable.dice_6
        }
        val scream = if (randomInt != 1) {
        } else {
            mp.start()


        }

        diceImage.setImageResource(drawableResource)
        resultText.text = randomInt.toString()
        rollList.append(setDiceInt.toString() + " sided dice hit: " + randomInt.toString() + "\n")


    }

}

共有1个答案

干稳
2023-03-14

请尝试清理以下缓存文件夹以重新下载库-

c:\Users\<user>\.gradle\caches\
c:\Users\<user>\.AndroidStudio3.x\system\caches\
 类似资料:
  • Iam使用spring、hibernate maven项目时出现异常,无法在dispatcher servlet上解析对bean“sessionFactory”的引用。xml文件。下面是iam添加的三个文件内容。dispatcherservlet和应用程序上下文都位于resources文件夹中。问题是什么?请帮忙 我的错误:org。springframework。网状物util。NestedSer

  • 本文向大家介绍Postgresql 解决pg掉电后无法重启的问题,包括了Postgresql 解决pg掉电后无法重启的问题的使用技巧和注意事项,需要的朋友参考一下 机房断电后重启pg数据库,报如下错误: 修复方法: 切换到bin目录下: 使用pg_resetxlog命令修复日志:(/var/lib/pgsql/9.3/data为pg_data的目录) 重启数据库: 补充:PostgreSQL 数据

  • 根据link,在spring boot中使用缓存的最简单配置是使用CacheManager(缓存映射将在这个类中初始化): 在: 但它抛出: 编辑:如果我在cacheManager中分配一个cacheName,并在建议的方法中使用它,异常就消失了。但是bean中的所有方法都将被缓存,而我只在一个方法上分配了。

  • 本文向大家介绍VMWare中Ubuntu重启后无法上网的解决方法,包括了VMWare中Ubuntu重启后无法上网的解决方法的使用技巧和注意事项,需要的朋友参考一下 如何解决VMWare中Ubuntu重启后无法上网,具体如下 原因:没有设置静态的DNS,导致系统每次重启都会把先前设置的DNS删除。 重启后无法上网: 1、查看DNS:   2、发现之前配置的DNS不见了 解决方法: (1)重新设置DN

  • 问题内容: 我正在使用PyCharm进行项目。该项目将打开并使用解释器进行配置,并且可以成功运行。远程解释器路径已正确映射。这似乎是正确的配置,但是PyCharm会突出显示我的有效代码,并带有“未解决的引用”错误,即使对于内置Python函数也是如此。即使运行代码,为什么也似乎没有检测到这些?有什么方法可以让PyCharm正确识别它们? 问题答案: 档案| 无效的缓存…并重新启动PyCharm会有

  • 问题内容: 我正在使用$ resource并缓存get请求的结果。我的问题是,在发布请求后,缓存不会失效。 这是服务的返回值: 这是我在控制器内部使用的保存方法。如您所见,我正在对post请求使用回调,以重新计算名词的查询/列表。 我想在调用post或其他非get方法后使缓存无效。我该怎么办?这是否已经内置在$ resource中,还是我需要自己实现? 问题答案: 您可以创建包装器服务以根据需要进