您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Kotlin中Android之Activity使用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
Toast.makeText(this,"ADD",Toast.LENGTH_SHORT).show() // Toast.makeText(Activity,提醒字符,length_long|short 顯示時(shí)常長(zhǎng)|短)
打開(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{...}
現(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 }
這里先新建一個(gè)IntentActivity,并在清單文件manifest中注冊(cè),一般會(huì)自動(dòng)注冊(cè)
<activity android:name=".IntentMainActivity"> ...</activity>
//先獲取Intent對(duì)象,方法(當(dāng)前的活動(dòng),跳轉(zhuǎn)的活動(dòng)) val intent = Intent(this, IntentMainActivity::class.java) //開(kāi)始跳轉(zhuǎn) startActivity(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)
//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")
//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()
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)
看完上述內(nèi)容,你們對(duì)Kotlin中Android之Activity使用方法有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。