如果我正在使用终端并为命令输入一行文本,是否有热键或任何方式来清除/删除该行?
例如,如果我当前的行/命令非常像:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
Run Code Online (Sandbox Code Playgroud)
是否有热键或命令从上面到:
>
Run Code Online (Sandbox Code Playgroud)
?
通常我会按下↓键,如果我的当前行是历史上的全新行,那将清除它.但是如果我通过↑键查看命令历史记录并开始编辑或使用这些命令,↓则只会将提示更改为历史记录中的下一个最新命令,因此除非我按↓多次,否则它不起作用.
有谁知道是否有办法增加Android Studio中的logcat历史/缓冲区的大小?我记得在Eclipse中有一种方法可以做到这一点,并希望Android Studio有类似的设置.
Android上用于创建a的最佳实践Fragment是使用静态工厂方法并在Bundlevia中传递参数setArguments().
在Java中,这样做是这样的:
public class MyFragment extends Fragment {
static MyFragment newInstance(int foo) {
Bundle args = new Bundle();
args.putInt("foo", foo);
MyFragment fragment = new MyFragment();
fragment.setArguments(args);
return fragment;
}
}
Run Code Online (Sandbox Code Playgroud)
在Kotlin,这转换为:
class MyFragment : Fragment() {
companion object {
fun newInstance(foo: Int): MyFragment {
val args = Bundle()
args.putInt("foo", foo)
val fragment = MyFragment()
fragment.arguments = args
return fragment
}
}
}
Run Code Online (Sandbox Code Playgroud)
这对于支持与Java的互操作是有意义的,所以它仍然可以通过调用MyFragment.newInstance(...),但是如果我们不需要担心Java互操作,那么在Kotlin中是否有更惯用的方法呢?
我正试图找出在Kotlin中进行Android View Binding的最佳方法.似乎有一些选择:
findViewById
val button: Button by lazy { findViewById<Button>(R.id.button) }
Run Code Online (Sandbox Code Playgroud)
牛油刀
https://github.com/JakeWharton/butterknife
@BindView(R.id.button) lateinit var button: Button
Run Code Online (Sandbox Code Playgroud)
Kotlin Android扩展程序
https://kotlinlang.org/docs/tutorials/android-plugin.html
import kotlinx.android.synthetic.main.activity_main.*
Run Code Online (Sandbox Code Playgroud)
我对java版本中的findViewById和Butterknife非常熟悉,但Kotlin中每种视图绑定方法的优缺点是什么?
Kotlin Android扩展程序与RecyclerView + ViewHolder模式相匹配吗?
另外,Kotlin Android Extensions如何处理嵌套视图的视图绑定include?
例如:对于使用的活动activity_main.xml,将如何View custom1访问?
activity_main.xml中
<...>
<include layout="@layout/custom" android:id="@+id/custom" />
</>
Run Code Online (Sandbox Code Playgroud)
custom.xml
<...>
<View android:id="@+id/custom1" ... />
<View android:id="@+id/custom2" ... />
</>
Run Code Online (Sandbox Code Playgroud) android findviewbyid kotlin butterknife kotlin-android-extensions
我最近从Android Studio 2.3更新到3.0,并将kotlin更新1.1.4为1.1.51.
现在我在我的gradle控制台中看到了这条消息:
'kotlin-kapt'插件不使用'kapt.generateStubs'
我有这个build.gradle让我的项目使用注释处理来处理一些库:
kapt {generateStubs = true}
是否generateStubs不再需要该线路,是否可以安全移除?或者我应该采取另一个措施来删除上面的警告消息?
有人可以解释copyKotlin数据类的方法究竟是如何工作的吗?对于某些成员来说,实际上并没有创建(深层)副本,并且引用仍然是原始的.
fun test() {
val bar = Bar(0)
val foo = Foo(5, bar, mutableListOf(1, 2, 3))
println("foo : $foo")
val barCopy = bar.copy()
val fooCopy = foo.copy()
foo.a = 10
bar.x = 2
foo.list.add(4)
println("foo : $foo")
println("fooCopy: $fooCopy")
println("barCopy: $barCopy")
}
data class Foo(var a: Int,
val bar: Bar,
val list: MutableList<Int> = mutableListOf())
data class Bar(var x: Int = 0)
Run Code Online (Sandbox Code Playgroud)
输出:
foo:Foo(a = 5,bar = Bar(x = 0),list = [1,2,3])
foo:Foo(a = 10,bar = Bar(x = …
在Kotlin中,有没有办法在委托属性上定义注释(例如:) lazy?
class MyActivity: Activity() {
@ColorInt
val textColor: Int by lazy { ContextCompat.getColor(this, R.color.someColor) }
...
Run Code Online (Sandbox Code Playgroud)
IDE在@ColorInt注释处抛出错误:
此注释不适用于具有委托的目标'成员属性'
我希望能够对Observable具有延迟发射的单元进行单元测试,但实际上并没有等待延迟时间.有没有办法做到这一点?
我目前正在使用CountDownHatch来延迟断言,并且工作正常,但会增加测试运行时间.
例:
val myObservable: PublishSubject<Boolean> = PublishSubject.create<Boolean>()
fun myObservable(): Observable<Boolean> = myObservable.delay(3, TimeUnit.SECONDS)
@Test
fun testMyObservable() {
val testObservable = myObservable().test()
myObservable.onNext(true)
// val lock = CountDownLatch(1)
// lock.await(3100, TimeUnit.MILLISECONDS)
testObservable.assertValue(true)
}
Run Code Online (Sandbox Code Playgroud) 我正在考虑用kotlin脚本重写一些现有的bash脚本.
其中一个脚本有一个部分可以解压缩目录中的所有文件.在bash中:
unzip *.zip
Run Code Online (Sandbox Code Playgroud)
有没有一种很好的方法来解压缩kotlin脚本中的文件?
如何从Eclipse文件search(CTRL + H)中排除某个文件夹名称?例如,如果我想搜索所有文件,但排除名为FolderName(及其子目录)的文件夹中的任何文件,我可以在文件名模式中输入什么来完成此操作?
kotlin ×7
android ×6
annotations ×2
bash ×2
butterknife ×1
copy ×1
data-class ×1
deep-copy ×1
eclipse ×1
findviewbyid ×1
gradle ×1
java ×1
logcat ×1
rx-java ×1
rx-java2 ×1
terminal ×1
unit-testing ×1
unzip ×1