最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kotlin startActivity跳轉(zhuǎn)Activity實現(xiàn)流程詳解

 更新時間:2022年12月05日 10:20:27   作者:go2coding  
在Android當(dāng)中,Activity的跳轉(zhuǎn)有兩種方法,第一個是利用startActivity(Intent intent);的方法,第二個則是利用startActivityForResult(Intent intent,int requestCode);的方法,從字面上來看,這兩者之間的差別只在于是否有返回值的區(qū)別,實際上也確實只有這兩種區(qū)別

從一個Activity跳到另一個Activity 在編寫安卓代碼是最常見的事情了。我們不可能在一個頁面中,把所有的事情都做完。

kotlin中跳轉(zhuǎn)的程序也比較簡單,跟java差不多。如果熟悉java代碼的話,只需要把代碼改變過來而已。

帶參數(shù)的調(diào)整

從一個Activity跳到另一個Activity 中,如同調(diào)用函數(shù)一樣,可以把數(shù)據(jù)傳遞給另外的Activity中,Activity在接受到這個數(shù)據(jù)后,可以根據(jù)數(shù)據(jù)的情況進行相應(yīng)的處理操作。

對于跳轉(zhuǎn)Activity ,android 中使用的是 startActivity ,在startActivity 的時候可以傳遞進去一個Intent,這個Intent可以把要傳遞的Activity和參數(shù)都塞進去,使用的方法如下:

            val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
            var intent:Intent = Intent(applicationContext,MainActivity2::class.java)
            intent.putExtra("request_time",  sdf.format(Date()))
            startActivity(intent)

這里我們從MainActivity,跳到 MainActivity2中去,我們傳遞的字段為request_time,在intent中用putExtra放入。

MainActivity2 中直接用intentgetStringExtra 來取得相關(guān)的字段。

tv_activity.setText(intent.getStringExtra("request_time"))

自定義數(shù)據(jù)傳輸

大多數(shù),我們不僅僅只是想傳遞一個 基礎(chǔ)類型的數(shù)據(jù),對于自定義的類或者數(shù)據(jù)也是可以做得到的,這點Kotlin 看起來會簡單多了,特別是創(chuàng)建Parcelable。

創(chuàng)建一個自定義數(shù)據(jù)類型:

@Parcelize
data class MessageInfo(val content:String,val sent_text:String):Parcelable
{
}

@Parcelize注解 幫我們把Parcelize的接口都實現(xiàn)了。

傳遞數(shù)據(jù)類型,啟動相關(guān)的頁面:

        btn_activity1.setOnClickListener{
            val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
            var message:MessageInfo = MessageInfo("hello MainActivity2",sdf.format(Date()))
            var intent:Intent = Intent(applicationContext,MainActivity2::class.java)
            intent.putParcelableArrayListExtra("request", arrayListOf(message))
            startActivity(intent)
        }

使用putParcelableArrayListExtra 把相關(guān)的數(shù)據(jù)放入。接收端同樣的來接收數(shù)據(jù)類型:

var messages = intent.getParcelableArrayListExtra<MessageInfo>("request")

startActivityForResult

在跳轉(zhuǎn)后的頁面,如果在跳轉(zhuǎn)回去的時候,也可以設(shè)置相應(yīng)的回調(diào)參數(shù),和回調(diào)狀態(tài)值。在startActivity 的時候,換為startActivityForResult,重載onActivityResult 的方法,就可以得到返回的數(shù)值。

        btn_activity2.setOnClickListener {
            var intent:Intent = Intent(applicationContext,MainActivity2::class.java)
            startActivityForResult(intent,9)
        }

重載onActivityResult方法,等待返回結(jié)果:

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
    }
}

MainActivity2頁面中,用Intent的方式來跳回原來的頁面。

        btn_activity20.setOnClickListener {
            var intent: Intent = Intent()
            setResult(0,intent)
            this.finish()
        }

小結(jié)

Activityandroid 四大組件之一,后面其他的組件還會一一的進行介紹,Activity 其實有很多東西可以學(xué)習(xí),特別是看看他的源代碼,會發(fā)現(xiàn)很多可以用的技巧,但是還是得先學(xué)會怎么使用Activity,這個才是基礎(chǔ),這里僅僅介紹了跳轉(zhuǎn)的用法,其他的后面還會進行介紹。

到此這篇關(guān)于Kotlin startActivity跳轉(zhuǎn)Activity實現(xiàn)流程詳解的文章就介紹到這了,更多相關(guān)Kotlin startActivity跳轉(zhuǎn)Activity內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java創(chuàng)建線程的4種方式集合(最新整理)

    java創(chuàng)建線程的4種方式集合(最新整理)

    在Java中,創(chuàng)建線程有多種方式,每種方式都有其適用場景和優(yōu)缺點,下面給大家分享java創(chuàng)建線程的4種方式,感興趣的朋友一起看看吧
    2018-05-05
  • Android 讀取txt,按行讀取的實例講解

    Android 讀取txt,按行讀取的實例講解

    今天小編就為大家分享一篇Android 讀取txt,按行讀取的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Flutter組件適配方法實現(xiàn)詳解

    Flutter組件適配方法實現(xiàn)詳解

    在寫flutter的代碼的時候為了讓組件大小適配屏幕使用了flutter_screenUtil插件。在調(diào)試的時候是正常的,可以適配屏幕。但是打包之后就會失去效果,這篇文章主要介紹了Flutter組件適配方法實現(xiàn)
    2022-10-10
  • 如何使用Flutter實現(xiàn)生成二維碼

    如何使用Flutter實現(xiàn)生成二維碼

    這篇文章主要為大家詳細介紹了如何使用 Flutter 創(chuàng)建二維碼,并實現(xiàn)一些常見的自定義選項,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • Android自定義錄制視頻功能

    Android自定義錄制視頻功能

    這篇文章主要為大家詳細介紹了Android自定義錄制視頻功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android 完全退出當(dāng)前應(yīng)用程序的四種方法

    Android 完全退出當(dāng)前應(yīng)用程序的四種方法

    Android程序有很多Activity,比如說主窗口A,調(diào)用了子窗口B,如果在B中直接finish(), 接下里顯示的是A。在B中如何關(guān)閉整個Android應(yīng)用程序呢?本人總結(jié)了幾種比較簡單的實現(xiàn)方法
    2016-02-02
  • Flutter實現(xiàn)仿京東商品詳情底部操作欄

    Flutter實現(xiàn)仿京東商品詳情底部操作欄

    這篇文章主要為大家詳細介紹了Flutter如何仿京東實現(xiàn)商品詳情底部操作欄,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-06-06
  • Android樣式的開發(fā):layer-list實例詳解

    Android樣式的開發(fā):layer-list實例詳解

    本文主要介紹Android樣式開發(fā)layer-list,這里整理了詳細的資料,及簡單示例代碼有興趣的小伙伴可以參考下
    2016-09-09
  • Flutter懸浮按鈕FloatingActionButton使用詳解

    Flutter懸浮按鈕FloatingActionButton使用詳解

    本文主要介紹了Flutter懸浮按鈕FloatingActionButton使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Android gradle打包并自動上傳的方法

    Android gradle打包并自動上傳的方法

    本篇文章主要介紹了Android gradle打包并自動上傳的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論

哈巴河县| 阳泉市| 九江市| 长宁区| 韩城市| 太白县| 灵石县| 濉溪县| 咸宁市| 荣成市| 绩溪县| 锡林郭勒盟| 堆龙德庆县| 鹿泉市| 墨玉县| 夹江县| 佳木斯市| 长海县| 玉树县| 新蔡县| 石家庄市| 雷波县| 呼伦贝尔市| 白河县| 泰宁县| 普安县| 托克托县| 南充市| 都安| 临朐县| 铜川市| 尚志市| 全椒县| 海丰县| 延安市| 邯郸市| 星子县| 剑阁县| 特克斯县| 阿城市| 桦川县|