小编Can*_*ack的帖子

IntelliJ IDEA 13给出了关于不兼容类型的无效错误(Play中的Java-Scala-InterOp)

我刚刚从IDEA 12升级到13(社区版),从那时起我在IDEA中遇到了关于我的游戏项目的不兼容类型的错误.

Option<String> authHeaderOption = requestHeader.headers().get(AUTHORIZATION);
Run Code Online (Sandbox Code Playgroud)

requestHeader的类型为play.api.mvc.RequestHeader.错误消息指出:

Incompatible types. Found: 'scala.Option<java.lang.String>', required: 'scala.Option<java.lang.String>
Run Code Online (Sandbox Code Playgroud)

所以它抱怨类型不兼容,但同时表明必需和找到的类型是相同的.

从Play控制台运行应用程序时,一切正常,因此编译工作正常.

该错误发生在调用scala play api的java类中.在升级IntelliJ之前没有这样的错误因此它必须是IDE问题,但我还没弄清楚到底是什么.

有没有人见过这种错误?

java scala intellij-idea playframework

6
推荐指数
2
解决办法
6785
查看次数

视图扩展 EditText 失去样式并且不可聚焦

出于方便原因(NumberEdit),我尝试使用 kotlin 对 EditText 进行子类化,但渲染的 View 丢失了大部分 EditText 属性。外观是 TextView 的外观,它不能用鼠标(在模拟器中)聚焦。当我点击活动时,我可以编辑第一个 NumberEdit 小部件,并可以使用 Tab 键循环到下一个。

我添加了两个模拟器屏幕截图来说明差异。

一个 EditText 看起来像这样

一个 EditText 看起来像这样

新的 NumberEdit 看起来像这样

新的 NumberEdit 看起来像这样

扩展类如下所示:

import android.content.Context
import android.text.InputType
import android.util.AttributeSet
import android.widget.EditText


class EditNumber(context: Context, attributeSet: AttributeSet?, defStyleAttr: Int, defStyleRes: Int)
    : EditText(context, attributeSet, defStyleAttr, defStyleRes) {

    constructor(context: Context) : this(context, null, 0, 0)
    constructor(context: Context, attributeSet: AttributeSet?) : this(context, attributeSet, 0, 0)
    constructor(context: Context, attributeSet: AttributeSet?, defStyleAttr: Int)
        : this(context, attributeSet, defStyleAttr, 0)

    init {
        inputType = InputType.TYPE_CLASS_NUMBER + InputType.TYPE_NUMBER_FLAG_DECIMAL …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-edittext

2
推荐指数
1
解决办法
1245
查看次数

带有 Spring Boot CrudRepo 的 Apache Ignite 无法初始化

我正在尝试使用 IgniteCrudRepository 设置一个小型 Ignite 应用程序。

由于当前的稳定版本 2.6.0 存在 Spring 数据集成问题 ( https://issues.apache.org/jira/browse/IGNITE-6879 ),我使用的是最新的 nighty 版本 2.7.0。

当我尝试启动应用程序时,它失败并出现以下异常:

org.apache.ignite.IgniteException: Failed to initialize Ignite repository factory. Ignite instance or IgniteConfiguration or a path to Ignite's spring XML configuration must be defined in the application configuration
Run Code Online (Sandbox Code Playgroud)

但是在我的 spring 启动应用程序中,我确实创建了一个 Ignite bean,并且在调试日志中我看到 spring 知道该 bean。

Eagerly caching bean 'ignite' to allow for resolving potential circular reference
Run Code Online (Sandbox Code Playgroud)

我的 Spring Boot 应用程序类如下所示:

@SpringBootApplication
@EnableIgniteRepositories
@Configuration
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot ignite

2
推荐指数
1
解决办法
1841
查看次数