이 Java 코드가 있습니다.
MaterialDialog builder = new MaterialDialog.Builder(MainActivity.this)
Kotlin에서 MainActivity 개체를 얻고 싶습니다. 자동 변환이에서 중단됩니다 MainActivity.this
.
답변
정규화 된MainActivity
.NET Framework를 사용하여 Kotlin에서 개체에 대한 참조를 가져올 수 있습니다 . 예 :this
class MyActivity : MainActivity() {
val builder = MaterialDialog.Builder(this@MyActivity)
}
답변
대신이 라벨을 사용해보세요.
this@YourActivityName
답변
당신이 내부 클래스에서 Activity.this를 호출하는 경우, 당신은 넣어 가지고 내부 클래스하기 전에
class MyActivity : MainActivity() {
// Call from class itself
val builder = MaterialDialog.Builder(this@MyActivity)
inner class Inner {
this@MyActivity // Call from the inner class
}
}
답변
MainActivtiy.this로 활동 컨텍스트를 얻기 위해 Java에서 수행하는 것처럼 kotlin에서는 this @ MainActivity 로 컨텍스트를 얻습니다.
답변
getActivity()
this@activity_name
materialDialog 용 빌더의 경우에 해당합니다.
materialDialog = MaterialDialog.Builder(this)
답변
이와 같은 활동의 대상을 얻을 수 있습니다.
class DemoActivity : MainActivity() {
val builder = MaterialDialog.Builder(this@DemoActivity)
}
답변
Kotlin에서는 다음과 같이 사용해야합니다.
this @ ActivityName
예 : MainActivity.kt에서 “Context”를 정의하려는 경우 사용해야합니다.
var mContext:Context = this@MainActivity
왜? Kotlin 언어에서 @는 다음과 같은 “의”를 의미하기 때문입니다.
val a = this@A // A's this
자세한 내용은 Kotlin 언어 웹 사이트 : This Expression in Kotlin을 참조하세요.
뿡 빵뀨