如何摧毁片段?

我有一个Activity 。 Activity有两个Fragment 。 片段A是菜单。 片段B是细节。 我尝试在片段B中制作其他片段C,因此,活动中有3个片段。 我尝试将片段B替换为片段D. 我猜片段B和C已经死了。 但这些碎片还活着。 只是片段是onDestroyView()状态。 我想onDestroy()或onDetach() 。 我该怎么做Fragments.onDestroy()或onDetach() ? 我不能销毁或更改Activity 。

懒惰variables与重置

我想创建一个非空的某种types的variables,比如说Foo。 然后,我想要所有访问variables返回Foo,就像一个懒惰的委托,但是,我也希望能够重置它。 就像是: var foo : String by Foo(init: {“bar”}) print(foo) // prints “bar” foo = null // or foo.reset() print(foo) // prints “bar” 我想解决的问题:我有一个适配器的索引,我需要在适配器内容更改时重新创建。 所以在变化我想清除索引,并在下一次有人试图访问它,我想重新创建它。

Kotlin:从类对象获取超类 – 对象推理错误

下面的代码应该遍历传递对象的类的超类链,直到达到顶层。 protected fun getBestMethodFor(o: Any): Method? { val nodeClass = o.javaClass val objectClass = Any::class.java … // Go through superclasses. var c = nodeClass while (c != objectClass && ans == null) { debugMsg(“Looking for class match for ” + c.name) … c = c.superclass } … } 这导致了2个错误: Error:(57, 17) Kotlin: Type mismatch: inferred […]

有没有更简单的方式来expressionKotlin中的匿名类?

我翻译了这个Java new Thread(“Cute Thread”) { public void run() { int a = 3; } }.start(); 到这个Kotlin object : Thread(“Cute Thread”) { override fun run() { val a = 3 } }.start() 但是我觉得有这样一个更简单的方法,但我找不到任何例子。 我试过了 Thread(“Cute Thread”) { val a = 3 }.start() 但没有成功… PS。 我知道,像这样开始一个线程是一个不好的做法。

为什么不能匕首处理这些kotlingenerics?

我有一些奇怪的kotlin与Dagger的一般问题,我有点固定,但解决方案是不健全的。 这里是匕首类: @Module class P5Module { @Provides fun pool(): RecyclerView.RecycledViewPool = RecyclerView.RecycledViewPool() @Provides fun adapters(fusion: P5FusionAdapter, personas: P5ListAdapter, skills: P5SkillsAdapter, info: InfoAdapter) : List = listOf(fusion, personas, skills, info) } @ActivityScope @Subcomponent(modules = arrayOf(P5Module::class)) interface P5Component { fun adapter(): PageableAdapter } interface Pageable { fun manager(ctx: Context): LayoutManager fun attach() fun adapter(): Adapter } class […]

为什么Kotlin无法重载List 操作符方法?

这是我的function: operator infix fun List.get(int: Int): Teacher { var t = Teacher() t.name = “asd” return t ; } 和我的用法: b[0].teachers[1].name 提示:b是List 属性的对象 并且错误Empty list doesn’t contain element at index 1. 为什么这个覆盖操作函数不起作用?

如何在Kotlin中列出字段注释?

我有一个注释 public @interface Field { String value(); } 和java类,由它注释: public class Animal { @Field(“name”) private String name; } 我尝试通过下一个代码列出所有字段的注释: for(field in clazz.declaredFields){ for(annotation in field.annotations){ when(annotation){ is Field -> { //do something } } } } 其中clazz是Class 但是field.annotations是空的。 如何正确列出注释?

无论如何,我可以阻止推送通知显示在客户端?

我正在使用UrbanAirship进行推送通知。 一切工作正常,但有一些情况下,我不希望显示来自城市的推送通知。 我必须在服务器端处理这个问题,还是可以在客户端处理? 如果可能的话,我将如何在客户端处理这个问题? 我已经尝试取消通知,并且工作,但它仍然在状态栏中显示翻转消息。

如何在kotlin的片段类中初始化视图?

我想在Kotlin下面这行代码的等效代码: TextView tv = view.findViewbyId(R.id.textView); 任何帮助?

如何从Kotlin的Javatypes数组中获取javaclass?

对于pojo类: //java MyClass.getClass(); //kotlin MyClass::class.java 但如何从数组getClass? //java MyClass[].class; //kotlin ??? MyClass[]::class.java – 不工作:(