我在kotlin类中的代码会自动替换为Android Studio中的一些XML代码

时间:2019-07-15 20:47:38

标签: android xml gradle kotlin

我在Android Studio中有一个针对Android的项目。由于某些原因,我的kotlin文件中的代码会自动被一些奇怪的xml代码替换。

我不知道为什么会这样

下面的示例代码:

package com.alex.willtrip.objectbox.helpers

import com.alex.willtrip.objectbox.ObjectBox
import com.alex.willtrip.objectbox.converters.LocalDateConverter
import io.objectbox.Box
import io.objectbox.annotation.Convert
import io.objectbox.annotation.Entity
import io.objectbox.annotation.Id
import io.objectbox.annotation.Index
import org.threeten.bp.LocalDate

@Entity
class DateEntity (@Id var id: Long = 0, @Index val link: Long,
                 @Convert(converter = LocalDateConverter::class, dbType = Long::class)
                 val date: LocalDate)

class DateSaver {

    private fun getBox (): Box<DateEntity> {
        return ObjectBox.boxStore.boxFor(DateEntity::class.java)
    }

    fun getDate (link: Long): LocalDate? {
        return getBox().query().equal(DateEntity_.link, link).build().findUnique()?.date
    }

    fun saveDate (link: Long, date: LocalDate) {
        val id = getBox().query().equal(DateEntity_.link, link).build().findUnique()?.id ?: 0
        getBox().put(DateEntity(id, link, date))
    }
}

被代码替换

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CMakeSettings">
    <configurations>
      <configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
    </configurations>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
    <option name="id" value="Android" />
  </component>
</project>

1 个答案:

答案 0 :(得分:0)

Android Studio中存在一个已知的错误,有时您的项目文件会相互随机混合,从而破坏了整个项目。

我不确定这里是否是这种情况,但是要解决此问题,我建议您尝试删除此文件夹的内容:

C:\Users\[your-username]\.AndroidStudio3.5\system\caches

.AndroidStudio3.5文件夹可能具有不同的版本号。

清除文件夹后,重新启动Android Studio。

如果这不能解决您的项目文件,那么您的其他选择是使用VCS还原它们。