Android 簡單跳轉(zhuǎn)頁面工具的實例詳解
事情起源
activity 或者 fragment 每次跳轉(zhuǎn)傳值的時候,你是不是都很厭煩那種,參數(shù)傳遞。
那么如果數(shù)據(jù)極其多的情況下,你的代碼將苦不堪言,即使在很好的設(shè)計下,也會很難受。那么今天我給大家推薦一個工具
和咱原生跳轉(zhuǎn)進行比較
比較:
1.跳轉(zhuǎn)方式比較
Intenti=new Intent(this,MainActivity.class); startActivity(i);
vs
ApMainActivity.getInstance().start(this);
//發(fā)送
Intenti=new Intent(this,MainActivity.class);
Bundle bundle = new Bundle();
bundle.putInt("message", "123");
i.putExtra("Bundle", bundle);
startActivity(i);
//接收
String s=bundle.getString("message",""); vs
//發(fā)送
ApMainActivity.getInstance().setMessage("123").start(this);
//接收
AutoJ.inject(this);AutoPage
github地址 https://github.com/smartbackme/AutoPage
如果覺得不錯 github 給個星
Android 容易的跳轉(zhuǎn)工具
注意事項:必須有如下兩個要求 androidxkotlin & java
#########使用#########
project : build.gradle 項目的gradle配置
buildscript {
repositories {
maven { url 'https://dl.bintray.com/297165331/AutoPage'}
}在你的每個需要做容易跳轉(zhuǎn)的模塊添加如下配置
你的項目必須要支持 kapt
kotlin kapt
apply plugin: 'kotlin-kapt' implementation 'com.kangaroo:autopage:1.0.2' kapt 'com.kangaroo:autopage-processor:1.0.2'
重點
@AutoPage 只能在字段或者類上標(biāo)注Ap 作為前綴,為你快速跳轉(zhuǎn)
kotlin:
字段必須標(biāo)注 @JvmField 和 @AutoPageonCreate 中 在你的需要跳轉(zhuǎn)的頁面加入 AutoJ.inject(this)
java:
字段必須標(biāo)注 @AutoPageonCreate 中 在你的需要跳轉(zhuǎn)的頁面加入 AutoJ.inject(this)
######### Activity 中使用#########
例1
簡單的跳轉(zhuǎn)
@AutoPage
class SimpleJump1Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_simple_jump1)
}
}之后調(diào)用
ApSimpleJump1Activity.getInstance().start(this)
例2
簡單的跳轉(zhuǎn)并且?guī)?shù)
class MainActivity2 : AppCompatActivity() {
@AutoPage
@JvmField
var message:String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
AutoJ.inject(this)
findViewById<TextView>(R.id.text).text = message
}
}之后調(diào)用
ApMainActivity2.getInstance().setMessage("123").start(this)例3:
跳轉(zhuǎn)帶有result
@AutoPage
class SimpleJumpResultActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_simple_jump_result)
}
override fun onBackPressed() {
var intent = Intent()
intent.putExtra("message","123")
setResult(RESULT_OK,intent)
super.onBackPressed()
}
}之后調(diào)用
ApSimpleJumpResultActivity.getInstance().requestCode(1).start(this)
####### 在 fragment 中使用 #########
class FragmentSimpleFragment : Fragment() {
@AutoPage
@JvmField
var message:String? = null
companion object {
fun newInstance() = FragmentSimpleFragment()
}
private lateinit var viewModel: SimpleViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return inflater.inflate(R.layout.simple_fragment, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
AutoJ.inject(this)
viewModel = ViewModelProvider(this).get(SimpleViewModel::class.java)
view?.findViewById<TextView>(R.id.message)?.text = message
}
}之后調(diào)用
ApFragmentSimpleFragment.getInstance().setMessage("134").build()到此這篇關(guān)于Android 簡單跳轉(zhuǎn)頁面工具的文章就介紹到這了,更多相關(guān)Android跳轉(zhuǎn)頁面工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android自定義控件之開關(guān)按鈕學(xué)習(xí)筆記分享
這篇文章主要為大家分享了Android自定義開關(guān)按鈕的學(xué)習(xí)筆記,內(nèi)容豐富,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
Android使用CardView實現(xiàn)圓角對話框
這篇文章主要為大家詳細(xì)介紹了Android使用CardView實現(xiàn)圓角對話框,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11
Android RecyclerView實現(xiàn)吸頂動態(tài)效果流程分析
RecyclerView是Android一個更強大的控件,其不僅可以實現(xiàn)和ListView同樣的效果,還有優(yōu)化了ListView中的各種不足。其可以實現(xiàn)數(shù)據(jù)縱向滾動,也可以實現(xiàn)橫向滾動(ListView做不到橫向滾動)。接下來講解RecyclerView的用法2022-12-12

