반응형
Kotlin에서 "Activity.this"에 액세스하는 방법
자바 코드는 다음과 같습니다.
MaterialDialog builder = new MaterialDialog.Builder(MainActivity.this)
Kotlin에서 MainActivity 개체를 가져오고 싶습니다.자동 변환은 다음 시간에 끊어집니다.MainActivity.this
.
다음 정보를 참조할 수 있습니다.MainActivity
Kotlin의 오브젝트. 예를 들어 다음과 같습니다.
class MyActivity : MainActivity() {
val builder = MaterialDialog.Builder(this@MyActivity)
}
대신 이 라벨을 사용해 보세요.
this@YourActivityName
액티비티를 호출하는 경우.이것은 내적인 수업에서, 당신은 수업 전에 내적인 것을 넣어야 한다.
class MyActivity : MainActivity() {
// Call from class itself
val builder = MaterialDialog.Builder(this@MyActivity)
inner class Inner {
this@MyActivity // Call from the inner class
}
}
답변: this@ActivityName
예를 들어 다음과 같습니다.MainActivity.kt에서 "Context"를 정의하려면 이 명령을 사용해야 합니다.
var mContext:Context = this@MainActivity
왜일까요? 코틀린어로 @는 다음과 같은 "of"를 의미하기 때문입니다.
val a = this@A // A's this
자세한 내용은 Kotlin Language 웹 사이트를 참조하십시오.코틀린에서의 이 표현
인코틀린
this@MainActivity
JAVA에 상당합니다.
MainActivity.this
MainActivtiy로 액티비티의 콘텍스트를 취득하기 위해서 Java에서 하는 것과 같습니다.이것은 kotlin에서 this@MainActivity로 컨텍스트를 가져옵니다.
getActivity()
등가물은this@activity_name
materialDialog용 빌더의 경우
materialDialog = MaterialDialog.Builder(this)
이렇게 활동 대상을 얻을 수 있습니다.
class DemoActivity : BaseActivity() {
val builder = MaterialDialog.Builder(this@DemoActivity)
}
언급URL : https://stackoverflow.com/questions/41617042/how-to-access-activity-this-in-kotlin
반응형
'sourcecode' 카테고리의 다른 글
엔클로징 클래스 Java가 아닙니다. (0) | 2022.08.19 |
---|---|
Java에서 범용 어레이를 작성하는 방법 (0) | 2022.08.19 |
Vue를 사용한 검색 상자 및 확인란 필터 (0) | 2022.08.19 |
JavaScript 세트에 해당하는 것은 무엇입니까?Android/Java의 Interval/setTimeout? (0) | 2022.08.19 |
Testcafe로 작성된 UI 테스트 디버깅 (0) | 2022.08.19 |