android-studio - Android:如何在 Kotlin 中投射?
问题描述
我想知道如何在 kotlin 中进行投射。
这是我想在 Kotlin 中执行的 java 代码。
爪哇
public void moveToSettingActivity(Context context){
Intent intent = new Intent(context, SettingsActivity.class);
context.startActivity(intent);
((Activity)context).overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
((Activity)context).finishAffinity();
}
科特林
fun moveToSettingActivity(context: Context){
val intent = Intent(context,SettingsActivity::class.java)
context.startActivity(intent)
}
我想知道如何((Activity)context)
在 kotlin 中执行。
解决方案
虽然(context as Activity)
确实有效,但最好在它周围添加一些安全性:
val activity = checkNotNull(context as? Activity) { "context is not an Activity" }
因为Context
可能是几件事,比如一个Application
实例。
推荐阅读
- vue.js - vue.js - 更新时关闭模式
- python - 正则表达式 (Python) - 匹配具有两个或多个不同元音的单词
- java - 如何正确地从数组中获取索引并对其进行一些操作?
- reactjs - 无法在单个页面中添加多个 AsyncTypeahead
- php - 使用 mysql 数据库在 php 中获取以下嵌套数组 webservice
- ios - 根据文本字段上列出的次数播放声音
- android - ContactsContract 按电话号码选择记录
- email - 在 PayPal 中,如何从电子邮件中获取客户 ID 和密码
- c# - 使用 c# 按下 ctrl+alt+del 时阻止蓝屏出现
- php - SQLSTATE[42S02]:在 laravel 5.4 项目中迁移时找不到基表或视图