【问题标题】:My code in kotlin classes is automatically replaced by some XML code in Android Studio我在 kotlin 类中的代码会自动替换为 Android Studio 中的一些 XML 代码
【发布时间】:2019-07-15 20:47:38
【问题描述】:

我在 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>

【问题讨论】:

  • 我也遇到了同样的问题,可能是 UTF 8 转换问题,尝试重新定位你的项目。

标签: android xml gradle kotlin


【解决方案1】:

Android Studio 中存在一个已知错误,有时您的项目文件会随机混合在一起,从而毁掉您的整个项目。

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

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

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

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

如果这不能修复您的项目文件,您的其他选择是使用您的 VCS 恢复它们(如果您使用过 VCS)。

【讨论】:

  • 我前段时间经历过这种情况,每次我的笔记本电脑在构建或同步过程中由于电源故障(由于电池故障)而关闭时,我都会感到困惑。更换后,我还没有再次体验。
猜你喜欢
  • 2022-01-02
  • 2018-04-16
  • 1970-01-01
  • 2020-12-24
  • 1970-01-01
  • 1970-01-01
  • 2017-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多