小编Jef*_*res的帖子

重构Kotlin代码时,Android Studio 3.0预览缺少导入

每当我尝试在Android Studio 3.0上重构Koltin代码时,它只会删除所有"顶级"导入并开始使用"inplace"导入.

通过重构我的意思是,在这种情况下,移动代码.所以,假设我在com.myapp包下有一个类.如果我将它移动到com.myapp.anotherpackage,则会出现此问题

有趣的事实看起来只有在你同时移动多个文件时才会发生

它看起来像什么:

//Before refactoring I have this import
import android.support.v7.app.AppCompatActivity;

class MyActivity : AppCompatActivity() {
    //code
}
Run Code Online (Sandbox Code Playgroud)

然后在重构后就像这样

//"top level" import is gone

class MyActivity : android.support.v7.app.AppCompatActivity() { //"inline" import
    //code
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我不得不再次重构代码会变得更糟,因为每个导入都是"内联"的,android工作室不会重构那些,我必须手动修复它们.这已经变得非常烦人,因为我不得不修复其中的100多个.有关如何解决此问题的任何想法?

android kotlin android-studio

15
推荐指数
1
解决办法
870
查看次数

Kotlin 通用属性

kotlin 有没有办法在声明类级别泛型类型的情况下创建泛型属性?看起来像这样的东西:

interface Generic {
    val t: T //I need this type only once, thats why I dont wanna pass in the class level

    fun <E> gMethod(e: E) { //This works, so I'm wondering if there's something similiar to properties

    }
}
Run Code Online (Sandbox Code Playgroud)

kotlin

8
推荐指数
3
解决办法
4811
查看次数

角材料DatePicker和NG-CHANGE

当用户在md-datepicker组件上选择日期时,我需要调用服务器以检查所选日期的计划。问题是,我无法使用ng-change触发函数,这似乎是执行此操作的唯一选择。有什么想法为什么这不起作用?

form.html

<div
    layout-padding>
    <form
        name="form"
        novalidate
        ng-submit="form.$valid && save()">
        <div
            layout>
        <md-input-container 
            class="md-block" 
            flex="100">
            <label>Nome Completo</label>
            <input 
                name="fullName" 
                ng-model="costumer.fullName" 
                required
                disabled/>
            <div 
              ng-messages="form.fullName.$error">
                <div ng-message="required">O cliente não foi específicado</div>
              </div>
        </md-input-container>
        </div>
        <div
            layout>
        <md-input-container 
            flex>

          <label>Data</label>
          <md-datepicker
              name="date"
              ng-model="appointment.when"
              md-open-on-focus
              md-min-date="today">

          </md-datepicker>

          <div 
              ng-messages="form.date.$error">
            <div ng-message="valid">Data inválida</div>
            <div ng-message="mindate">Data anterior à atual</div>
          </div>
        </md-input-container>

        <md-input-container
            flex="50">
            <label>Horário</label>
            <md-select 
                name="whatTime"
                ng-model="appointment.whatTime"
                required>
                <md-option value="0">08:00 - 09:00</md-option>
                <md-option value="1">09:00 - 10:00</md-option>
                <md-option value="2">10:00 - 11:00</md-option>
                <md-option value="3">13:00 - 14:00</md-option>
                <md-option …
Run Code Online (Sandbox Code Playgroud)

datepicker angularjs angular-material

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