Android:页面跳转传参方式一,页面跳转传参方式二
?一、頁面跳轉傳參方式一
跳轉的過程如何傳參:也就是頁面之間如何傳遞參數(shù),有點像函數(shù)調用如何傳參,頁面跳轉也要傳參。
? ? ? ? 復制一個工程
????????
?你要跳轉,(現(xiàn)在的代碼如下),intent 既然能設置跳轉到哪個頁面,當然也能設置參數(shù)
?這是一個方法的重載
現(xiàn)在的代碼
?第一個可以改成? ? ? “MyData”
第二個可以改成? ? ??"冰糖李子帥"
intent.putExtra("MyData", "冰糖李子帥");
設置完以后,調用? ??startActivity(intent); 的時候?? 就會傳參
?那我的SecondActivity.java 如何獲取呢?
第二個頁面啟動的時候,我們搞一個Intent來獲取?????????Intent i;
如果直接i.get();? ?獲取的話。你會發(fā)現(xiàn)他(i)是一個空的。??
我們沒有new 它(?Intent i;),也沒有指向
這個時候你如果new 它(Intent i;)? ? ? ?Intent i = new Intent();? 這個就不是你想要的了
怎么辦呢?????????Intent i = this.getIntent();
把? ? SecondActivity? ? 里面帶有的??Intent? 給他獲取出來
?
?然后i.getStringExtra(name);
?因為第一個頁面?zhèn)鹘o他的是字符????????"冰糖李子帥"? ? ? ? 第20行?
"MyData"是個鍵? ?“冰糖李子帥”是個值
你要在鍵里面獲取出值
?
?那么值是什么呢?
然后我們定義一個私有的? ? ? private String data;
讓?? ?data = i.getStringExtra("myData");
?? ??? ?
運行一下,我看不到任何東西,是傳遞失敗還是說這邊的日志不太容易找到你想看的內容呢?
都不好說
?這時候我們可以用Toast.makeText
?補充一下
運行一下
收到的數(shù)據(jù)是null
?
?發(fā)現(xiàn)是第19行寫錯了,修改完以后運行
?
同樣的,你要給第三個頁面?zhèn)飨氯?#xff0c;它也是一樣的
現(xiàn)在整體的代碼
?
?
?運行一下
?
二、頁面跳轉傳參方式二
????????
當數(shù)據(jù)比較多的時候,我們需要借助一個對象,要借助一個類Bundle
先復制工程
?
? ?需要 用到了????????????????Bundle bundle = new Bundle();? ?
?我們可以讓bundle 里面put。。。? ? ? ? ? ?bundle.putString(key, value)? ? ?
????????????????補充成? ? ? ? ? bundle.putString("MyData", "冰糖李子1");
還可以繼續(xù)放????????bundle.putInt("ID", 80808080);?? ?
intent有個? ? ?API? ? ?能把? ?bundle? ? 放進來????????intent.putExtras(extras)
????????????????補充成? ? ? ? ·intent.putExtras(bundle);
這樣我們跳轉的時候,就有一個整型數(shù),一個字符串
?
?我們SecondActivity.java拿到手以后,去搞一個bundle
?? ?i.getExtras();? 他返回的肯定是bundle,????????Bundle b ?= i.getExtras();
?
?運行一下
?
完整的代碼
?
?
?運行結果
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Android:页面跳转传参方式一,页面跳转传参方式二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android:如何添加一个页面,如何跳
- 下一篇: ideapad怎么设置u启动 Ideap