亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kotlin中Android的Activity使用方法

發布時間:2021-09-13 10:57:38 來源:億速云 閱讀:170 作者:柒染 欄目:開發技術

今天就跟大家聊聊有關Kotlin中Android之Activity使用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

    Activity中Toast的使用

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

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

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

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

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

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

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

     bt1.setOnClickListener{...}

    Activity中使用菜單Menu

    現在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)重寫onCreateOptionsMenu()和onOptionsItemSelected()方法

       override fun onCreateOptionsMenu(menu: Menu?): Boolean {
            menuInflater.inflate(R.menu.main,menu) //獲取上面寫好的資源文件
            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的使用

    這里先新建一個IntentActivity,并在清單文件manifest中注冊,一般會自動注冊

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

    intent顯式

     //先獲取Intent對象,方法(當前的活動,跳轉的活動) 
     val intent = Intent(this, IntentMainActivity::class.java)
     //開始跳轉
     startActivity(intent)

    intent隱式

    intent隱式需要使用清單文件manifest中的action和category兩個標簽,你可以自行添加,action的name隨意,第一個category的name需設置為default,第二個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,編寫以下代碼:

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

    intent數據的傳遞

    傳遞數據
    //MainActivity
    val intent = Intent(this, IntentMainActivity::class.java)
    //向該IntentActivity傳輸數據,putExtra(name,value)
    intent.putExtra("test_data", "顯式intent")
    startActivity(intent)
    //IntentActivity
     //接受上一個activity傳輸的數據getStringExtra(name)
     val data = intent.getStringExtra("test_data")
    返回數據
    //MainActivity中修改startactivity()為startActivityForResult()
    val intent = Intent(this, IntentMainActivity::class.java)
    startActivityForResult(intent,1)
    
    //因為使用了startActivityForResult()方法,
    //在IntentActivity銷毀之后會回調MainActivity的onActivityResult()方法,
    //所以我們需要重寫onActivityResult來得到返回的數據
    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中創建一個intent對象來傳遞數據
     val intent =Intent()
                intent.putExtra("data_return","hello,MainActivity")
                setResult(RESULT_OK,intent)
                finish()
    擴展

    intent不僅僅是可以跳轉至你創建的Activity,還可以跳轉至系統應用

    如瀏覽器:

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

    如跳轉至電話:

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

    看完上述內容,你們對Kotlin中Android之Activity使用方法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    开阳县| 册亨县| 江北区| 兰坪| 黎城县| 子长县| 阿拉善左旗| 大连市| 白银市| 楚雄市| 安化县| 军事| 石棉县| 亳州市| 贡觉县| 泽州县| 连州市| 南溪县| 崇礼县| 公安县| 湖南省| 巨鹿县| 溧阳市| 双城市| 丹东市| 黄大仙区| 昌平区| 安龙县| 钦州市| 兰考县| 宝山区| 峨山| 九龙坡区| 凤台县| 福海县| 鄢陵县| 泰兴市| 郁南县| 兴海县| 长春市| 东方市|