MainActivity:

val intent = Intent(this,VideoPlayer().javaClass)
//intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
var bundle = Bundle()
bundle.putString("path",list.get(i).absoluteFile.toString())
intent.putExtras(bundle)
startActivity(intent)

VideoPlayer:

var bundle = this.intent.extras
System.err.println("zzx===>path:"+ bundle?.get("path").toString())

不得不吐槽一下,以前java的时候,直接用intent.putExtra(key,value),接收方直接读取key就好了
kotlin直接读取key是null,不得不用上面这种方式,有人知道怎么可以直接读取留个言呗,新手刚刚
接触很多不了解

接上一篇, 使用 Intent 从 MainActivity 跳转到 FirstActivity , 不需要 FirstActivity 回传数据就用 startActivity, val intent = Intent(this, FirstActivity::class.java) intent.putExtra("key_from_main", "data_from_main") startActivity(intent) 需要 FirstActivity 回传数据就用 startActivityF
main ---- Activity ------------------------------------------------------------------------------ fun intent(position:Int,content : String){ var intent = Intent(this@MainActivity,TestActivity::
import android.annotation.TargetApi import android.app.Activity import android.content.Context import android.... 1.A——&gt;B(其中intros是一个List&lt;Onject&gt;) intent不能传递List&lt;Object&gt;数据,但是可以传递ArrayList,可以先用ArrayList添加List&lt;Object&gt;,在put出去 Intent intent = new Intent(NearMeActivity.this,FullMapActivi... button5.setOnClickListener { val intent = Intent() intent.setClass(this, ThirdActivity::class.java) startActivity(intent) 跳转方式一 inte. 1. val activityIntent = Intent(context, PermissionActivity::class.java) val intent = Intent(this, javaClass<SomeOtherActivity>()) 原理:Java 反射Java 反射适用于 Kotlin 类,反之亦然。如上所述,你可以使用 instance::class.jav
intent 普通跳转目标Personds 类class Personds : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity
译者:kmyhy 更新说明:本教程由 Steven Smith 更新为 Kotlin、Android 26(Oreo) 和 Android Studio 3.0,原文作者是 Darryl Bayliss。上一版更新作者是 Artem Kholodnyi。
Kotlin中,我们可以使用自定义的委托类来简化Intent的putExtra操作。可以通过定义一个类,例如IntentExtraString,来处理Intent中String类型的额外数据。在这个类中,我们可以使用operator关键字重载getValue和setValue函数来读取和写入Intent中的数据。这样,我们就可以在使用Intent的地方直接通过委托属性的方式来设置和获取额外的数据。例如,我们可以使用类似以下的代码来设置和获取Intent中的数据: ```kotlin class IntentExtraString(private val key: String) { operator fun getValue(intent: Intent, property: KProperty<*>): String? = intent.getStringExtra(key) operator fun setValue(intent: Intent, property: KProperty<*>, value: String?) { intent.putExtra(key, value) // 使用 object IntentOptions { var Intent.message by IntentExtraString("key for message") // 在Activity中使用 class Activity : AppCompatActivity() { companion object IntentOptions { var Intent.id by IntentExtraString() var Intent.name by IntentExtraString() var Intent.message by IntentExtraString() fun test(intent: Intent) { intent.id = "1" intent.name = "pass" intent.message = "message" // 在外部使用 fun testOutSide(intent: Intent) = with(Activity.IntentOptions) { val id = intent.id val name = intent.name val message = intent.message 通过这种方式,我们可以更加简洁地操作Intent中的额外数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [利用 Kotlin 的特性,让 Intent 传递数据的方式更优雅!](https://blog.csdn.net/plokmju88/article/details/103355023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
Hui0000000000: 我刚才试了一下,应该是put什么类型就要get什么类型,不然会null。 这是方法描述:Returns the value associated with the given key, or null if no mapping of the desired type exists for the given key or a null value is explicitly associated with the key. 我是android初学者,不知道说得对不对,你可以试试bundle?.getString(“path”)