欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kotlin-Android之Activity使用詳解

 更新時(shí)間:2021年09月13日 08:24:25   作者:不知 不知  
這篇文章主要介紹了Kotlin-Android之Activity使用詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

Activity中Toast的使用

Toast.makeText(this,"ADD",Toast.LENGTH_SHORT).show()
// Toast.makeText(Activity,提醒字符,length_long|short 顯示時(shí)常長(zhǎng)|短)

Activity中不使用findViewById()獲取控件ID

打開(kāi)Gradle Scripts 在 build Gradle(Project:AppName)的dependecies中添加如下一段:

 classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

然后再在build gradle(Module:AppName:app)的 plugins 標(biāo)簽結(jié)束處添加如下一段:

plugins {
   ...
}
apply plugin: 'kotlin-android-extensions'

這樣你就可以直接使用控件ID調(diào)用方法了,不再通過(guò)findViewById()獲取了

 bt1.setOnClickListener{...}

Activity中使用菜單Menu

現(xiàn)在res目錄下右鍵Directory下新建Menu目錄,然后新建MainMenu文件,編輯如下代碼:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/Add_item"
        android:title="ADD"/>
    <item
        android:id="@+id/Remove_item"
        android:title="Remove"/>
</menu>

返回MainActivity按Ctrl+O(Mac OS中是Control+O)重寫(xiě)onCreateOptionsMenu()和onOptionsItemSelected()方法

   override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.main,menu) //獲取上面寫(xiě)好的資源文件
        return true
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when(item.itemId){
               R.id.Add_item->Toast.makeText(this,"ADD",Toast.LENGTH_SHORT).show()
               R.id.Remove_item->Toast.makeText(this,"REMONE",Toast.LENGTH_SHORT).show()
        }
        return true
    }

Activity中intent的使用

這里先新建一個(gè)IntentActivity,并在清單文件manifest中注冊(cè),一般會(huì)自動(dòng)注冊(cè)

 <activity android:name=".IntentMainActivity"> ...</activity>

intent顯式

 //先獲取Intent對(duì)象,方法(當(dāng)前的活動(dòng),跳轉(zhuǎn)的活動(dòng)) 
 val intent = Intent(this, IntentMainActivity::class.java)
 //開(kāi)始跳轉(zhuǎn)
 startActivity(intent)

intent隱式

intent隱式需要使用清單文件manifest中的action和category兩個(gè)標(biāo)簽,你可以自行添加,action的name隨意,第一個(gè)category的name需設(shè)置為default,第二個(gè)category的name隨意

<activity android:name=".IntentMainActivity">
            <intent-filter>
                <action android:name="com.example.ACTION_START"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="com.example.activity.CATEGORY"/>
            </intent-filter>
</activity>

返回MainActivity,編寫(xiě)以下代碼:

 val intent = Intent("com.example.ACTION_START")
 intent.addCategory("com.example.activity.CATEGORY")
 startActivity(intent)

intent數(shù)據(jù)的傳遞

傳遞數(shù)據(jù)

//MainActivity
val intent = Intent(this, IntentMainActivity::class.java)
//向該IntentActivity傳輸數(shù)據(jù),putExtra(name,value)
intent.putExtra("test_data", "顯式intent")
startActivity(intent)
//IntentActivity
 //接受上一個(gè)activity傳輸?shù)臄?shù)據(jù)getStringExtra(name)
 val data = intent.getStringExtra("test_data")

返回?cái)?shù)據(jù)

//MainActivity中修改startactivity()為startActivityForResult()
val intent = Intent(this, IntentMainActivity::class.java)
startActivityForResult(intent,1)

//因?yàn)槭褂昧藄tartActivityForResult()方法,
//在IntentActivity銷(xiāo)毀之后會(huì)回調(diào)MainActivity的onActivityResult()方法,
//所以我們需要重寫(xiě)onActivityResult來(lái)得到返回的數(shù)據(jù)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        when(requestCode){
            1->if (resultCode== RESULT_OK){
                val returnedData= data?.getStringExtra("data_return")
                Log.d("MainActivity","returned data is $returnedData")
            }
        }
    }
    
//IntentActivity中創(chuàng)建一個(gè)intent對(duì)象來(lái)傳遞數(shù)據(jù)
 val intent =Intent()
            intent.putExtra("data_return","hello,MainActivity")
            setResult(RESULT_OK,intent)
            finish()

擴(kuò)展

intent不僅僅是可以跳轉(zhuǎn)至你創(chuàng)建的Activity,還可以跳轉(zhuǎn)至系統(tǒng)應(yīng)用

如瀏覽器:

 bt3.setOnClickListener {
            val intent = Intent(Intent.ACTION_VIEW)
            intent.data = Uri.parse("https://www.baidu.com")
            startActivity(intent)

如跳轉(zhuǎn)至電話(huà):

 bt4.setOnClickListener {
            val intent = Intent(Intent.ACTION_DIAL)
            intent.data = Uri.parse("tel:10010")
            startActivity(intent)

參考

[1]郭霖.第一行代碼 Android[M].第三版.北京.人民郵電出版社.2020.

到此這篇關(guān)于Kotlin-Android之Activity使用詳解的文章就介紹到這了,更多相關(guān)Kotlin-Android之Activity使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論