Android Studio: неразрешенная ссылка на основной активности после аннулирования кэша / перезапуска - PullRequest
0 голосов
/ 30 января 2020

Так что я новичок в программировании и хотел принять участие. Я начал изучать Kotlin и создал простое приложение для игры в кости, в которое я добавил новые функции по мере изучения. Однако я следовал учебному пособию, и человек нажал File> Invalidade Caches / restart, и я последовал, после этого НИЧЕГО больше не работает, и я полностью озадачен. Все ссылки в моей Mainactivity не разрешены, и я не могу заставить его работать.

Мой build.gradle содержит плагин apply: 'kotlin - android -extensions'

и моя сборка. gradle проект содержит

зависимостей {

classpath 'com. android .tools.build: gradle: 3.5.3'

classpath "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 Ответ

0 голосов
/ 30 января 2020

Пожалуйста, попробуйте очистить папки ниже кеша для повторной загрузки библиотек -

c:\Users\<user>\.gradle\caches\
c:\Users\<user>\.AndroidStudio3.x\system\caches\
...