每当我尝试在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多个.有关如何解决此问题的任何想法?
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) 当用户在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)