青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

life02

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  197 隨筆 :: 3 文章 :: 37 評(píng)論 :: 0 Trackbacks
http://android.blog.51cto.com/268543/323982


Activity跳轉(zhuǎn)與傳值,主要是通過Intent類來連接多個(gè)Activity,以及傳遞數(shù)據(jù)。
 
Intent是Android一個(gè)很重要的類。Intent直譯是“意圖”,什么是意圖呢?比如你想從這個(gè)Activity跳轉(zhuǎn)到另外一個(gè)Activity,這就是一個(gè)意圖。Intent類在Android系統(tǒng)中的作用很大,在此不詳細(xì)說了,后面有文章介紹!
 

Activity跳轉(zhuǎn),無返回結(jié)果

   這是最簡(jiǎn)單的Activity跳轉(zhuǎn)方式。從一個(gè)Activity啟動(dòng)另一個(gè)Activity,直接startActivity(new Intent(當(dāng)前Activity.this, 下一Activity.class))。
  1. ((Button) findViewById(R.id.Notepadv1)).setOnClickListener( new OnClickListener() {  
  2.     public void onClick(View v) {  
  3.         startActivity(new Intent (MyAndroidAppActivity.this, Notepadv1.class) );  
  4.     }  
  5. }); 
 

Activity跳轉(zhuǎn),返回?cái)?shù)據(jù)/結(jié)果

   需要返回?cái)?shù)據(jù)或結(jié)果的,則使用startActivityForResult (Intent intent, int requestCode)
,requestCode的值是自定義的,用于識(shí)別跳轉(zhuǎn)的目標(biāo)Activity。
   跳轉(zhuǎn)的目標(biāo)Activity所要做的就是返回?cái)?shù)據(jù)/結(jié)果,setResult(int resultCode)只返回結(jié)果不帶數(shù)據(jù),或者setResult(int resultCode, Intent data)兩者都返回!
   而接收返回的數(shù)據(jù)/結(jié)果的處理函數(shù)是onActivityResult(int requestCode, int resultCode, Intent data),這里的requestCode就是startActivityForResult的requestCode,resultCode就是setResult里面的resultCode,返回的數(shù)據(jù)在data里面。
 
MyAndroidAppActivity:
  1. static final int SEND_SMS_REQUEST = 0; 
  2. static final int CALL_REQUEST = 1; 
  3.  
  4. ((Button) findViewById(R.id.sms)).setOnClickListener( new OnClickListener() { 
  5.     public void onClick(View v) { 
  6.         Intent intent = new Intent(MyAndroidAppActivity.this, SendSMSActivity.class); 
  7.         startActivityForResult(intent, SEND_SMS_REQUEST); 
  8.     } 
  9. }); 
  10.  
  11. @Override 
  12. protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
  13.     if (requestCode == SEND_SMS_REQUEST) { 
  14.         if (resultCode == RESULT_OK) { 
  15.             Toast.makeText(this, "Send SMS RESULT_OK", Toast.LENGTH_SHORT).show(); 
  16.         }else if (resultCode == RESULT_CANCELED) { 
  17.             Bundle bundle = data.getExtras(); 
  18.             String phoneno = bundle.getString("phoneNO");  
  19.             Toast.makeText(this, "Send SMS RESULT_CANCELED "+phoneno, Toast.LENGTH_SHORT).show(); 
  20.         } 
  21.     }else if (requestCode == CALL_REQUEST) { 
  22.         if (resultCode == RESULT_CANCELED) { 
  23.             Toast.makeText(this, "Call RESULT_CANCELED", Toast.LENGTH_SHORT).show(); 
  24.         } 
  25.     } 
 
SendSMSActivity:
  1. ((Button) findViewById(R.id.send)).setOnClickListener( new Button.OnClickListener() { 
  2.     public void onClick(View v) { 
  3.         SendSMSActivity.this.setResult(RESULT_OK); 
  4.         SendSMSActivity.this.finish(); 
  5.     } 
  6. }): 
 
** 注意,在setResult后,要調(diào)用finish()銷毀當(dāng)前的Activity,否則無法返回到原來的Activity,就無法執(zhí)行原來Activity的onActivityResult函數(shù),看到當(dāng)前的Activity沒反應(yīng)。
 
    RESULT_OK和RESULT_CANCELED是系統(tǒng)空間里面的常量,不需要自定義,直接使用就行。
 
   另外在運(yùn)行過程中,發(fā)現(xiàn)按Back鍵后,是可以返回RESULT_CANCELED的,看了SDK doc后,原來真的是那樣,而且不帶有數(shù)據(jù)的。這意味著,如果你設(shè)想在返回RESULT_CANCELED時(shí)并返回?cái)?shù)據(jù),那么需要截獲Back鍵的事件處理,把原來返回RESULT_CANCELED的核心邏輯copy到事件處理里面。這里給個(gè)例子:
 
  1. ((Button) findViewById(R.id.cancel)).setOnClickListener( new Button.OnClickListener() { 
  2.     public void onClick(View v) { 
  3.         // 實(shí)例化 Bundle,設(shè)置需要傳遞的參數(shù) 
  4.         Bundle bundle = new Bundle(); 
  5.         bundle.putString("phoneNO", "020-123"); 
  6.  
  7.         SendSMSActivity.this.setResult(RESULT_CANCELED, SendSMSActivity.this.getIntent().putExtras(bundle)); 
  8.         SendSMSActivity.this.finish(); 
  9.     } 
  10. }); 
  11.  
  12. @Override 
  13. public boolean onKeyDown(int keyCode, KeyEvent event) { 
  14.     // 是否觸發(fā)按鍵為back鍵    
  15.     if (keyCode == KeyEvent.KEYCODE_BACK) { 
  16.          
  17.         // 實(shí)例化 Bundle,設(shè)置需要傳遞的參數(shù) 
  18.         Bundle bundle = new Bundle(); 
  19.         bundle.putString("phoneNO", "020-123"); 
  20.          
  21.         setResult(RESULT_CANCELED, this.getIntent().putExtras(bundle)); 
  22.         this.finish(); 
  23.         return true; 
  24.     }else { 
  25.         return super.onKeyDown(keyCode, event); 
  26.     } 
    這里要注意的是,在處理Back鍵事件后return true則表示本事件不再傳遞給其他函數(shù)處理,可理解為由當(dāng)前函數(shù)全權(quán)負(fù)責(zé)處理,所以在return前finish當(dāng)前Activity,保持原來的行為 表現(xiàn),當(dāng)然我們可以設(shè)置為隱藏當(dāng)前Activity等其他行為。
 

Activity傳送數(shù)據(jù)

    在上面的代碼中,我們可以看到使用Bundle來存儲(chǔ)數(shù)據(jù),并將其putExtras到Intent里面。Bundle使用“名字-值”來存儲(chǔ)數(shù)據(jù)。那 么,從原來的Activity A傳送數(shù)據(jù)到新的Activity B, Activity B如何獲取傳送過來的Intent參數(shù)時(shí)呢?最近寫了這樣的一個(gè)例子:
 
In Activity A:
  1. // 在某個(gè)按鈕響應(yīng)事件里 
  2. Intent intent = new Intent(this, TextInputActivity.class); 
  3. intent.putExtra("Text", mText); 
  4. intent.putExtra("TextColor", mTextColor); 
  5. intent.putExtra("TextSize", mTextSize); 
  6. intent.putExtra("TextBold", mTextBold); 
  7.  
  8. startActivityForResult(intent, REQUEST_TEXT); 
In Activity B:
  1. // in onCreate(Bundle savedInstanceState) 
  2. Bundle extras = getIntent().getExtras(); 
  3. mText = extras.getString("Text"); 
  4. mTextColor = extras.getInt("TextColor"); 
  5. mTextSize = extras.getFloat("TextSize"); 
  6. mTextBold = extras.getBoolean("TextBold"); 
 
 

本文出自 “學(xué)習(xí)Android” 博客,請(qǐng)務(wù)必保留此出處http://android.blog.51cto.com/268543/323982


posted on 2012-02-05 22:09 life02 閱讀(297) 評(píng)論(0)  編輯 收藏 引用 所屬分類: android組件學(xué)習(xí)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美午夜精品久久久久免费视| 一本一本a久久| 一本大道av伊人久久综合| 最新日韩av| 夜夜爽夜夜爽精品视频| 一区二区av在线| 亚洲欧美网站| 久久综合九色欧美综合狠狠| 欧美a一区二区| 99www免费人成精品| 亚洲一区二区三区777| 欧美一级免费视频| 欧美不卡视频一区| 国产精品久久久久77777| 国产日韩av高清| 亚洲精品日韩激情在线电影| 亚洲欧美日韩精品一区二区| 国产精品ⅴa在线观看h| 国产女人aaa级久久久级| 亚洲国产经典视频| 午夜在线成人av| 亚洲国产高清一区二区三区| 亚洲特级片在线| 美女精品国产| 国产区精品视频| 99综合在线| 欧美电影免费观看高清完整版| 亚洲精品日韩在线观看| 久久精品国产69国产精品亚洲| 欧美精品七区| 影音先锋另类| 性欧美videos另类喷潮| 亚洲欧洲日本一区二区三区| 欧美自拍偷拍| 国产女人aaa级久久久级| 亚洲小说欧美另类社区| 亚洲国产高潮在线观看| 欧美在线免费视屏| 国产精品日韩在线观看| 一区二区三区免费看| 欧美wwwwww| 欧美在线电影| 国产日韩欧美在线播放不卡| 中日韩美女免费视频网址在线观看 | 久久米奇亚洲| 亚洲午夜在线视频| 欧美日韩在线免费视频| 亚洲美女黄网| 欧美激情精品久久久| 久久精品国产2020观看福利| 国产精品视频网址| 亚洲欧美一级二级三级| 一区二区三区精密机械公司| 欧美日韩国产影院| 99精品国产在热久久下载| 欧美国产日产韩国视频| 久久乐国产精品| 韩日精品在线| 毛片基地黄久久久久久天堂| 久久久999精品免费| 狠狠色丁香久久综合频道| 久久久久成人精品| 久久久噜噜噜久久久| 精品91视频| 欧美大色视频| 欧美绝品在线观看成人午夜影视| 99综合电影在线视频| 中文精品视频一区二区在线观看| 欧美性做爰猛烈叫床潮| 亚洲欧美日韩一区二区三区在线观看 | 欧美日韩精品福利| 亚洲网站在线观看| 亚洲激情网站免费观看| 欧美黄色一级视频| 欧美精品一区二区三区一线天视频| 亚洲精品乱码久久久久久久久 | 欧美在线播放视频| 国外成人在线| 亚洲国产精品www| 欧美性开放视频| 久久精品亚洲一区二区三区浴池| 久久综合99re88久久爱| 日韩一区二区久久| 亚洲在线电影| 亚洲国产欧美久久| 亚洲视频在线二区| 精品福利电影| 99国产精品一区| 狠狠久久亚洲欧美| 亚洲三级影片| 国产一区二区三区自拍| 亚洲啪啪91| 国产一区二区三区电影在线观看| 欧美国产日韩精品免费观看| 国产精品大片| 欧美福利专区| 国产日韩欧美成人| 亚洲日本欧美天堂| 狠狠操狠狠色综合网| 日韩亚洲欧美一区| 在线看不卡av| 亚洲欧美日韩高清| 日韩一区二区电影网| 久久精品在这里| 亚洲欧美日韩人成在线播放| 麻豆精品视频在线| 久久久久久91香蕉国产| 欧美亚州韩日在线看免费版国语版| 欧美jizz19hd性欧美| 国产日本欧洲亚洲| 亚洲天堂网站在线观看视频| 亚洲美女尤物影院| 久久综合给合| 久久久久久久久久久久久9999| 欧美xart系列高清| 久久久久久久久蜜桃| 国产精品日韩一区二区| 日韩视频在线观看| 亚洲理论在线观看| 蜜桃久久av一区| 免费在线成人| 国产亚洲在线| 午夜欧美电影在线观看| 午夜国产精品视频| 国产精品久久午夜夜伦鲁鲁| 日韩午夜精品| 亚洲一区二区三区午夜| 欧美视频一二三区| 亚洲最黄网站| 一区二区三区波多野结衣在线观看| 欧美sm极限捆绑bd| 亚洲国产美女久久久久| 亚洲国产精品成人综合色在线婷婷 | 欧美大片91| 欧美激情欧美狂野欧美精品| 亚洲第一网站| 欧美v日韩v国产v| 欧美成人国产一区二区| 亚洲视频专区在线| 亚洲一区国产视频| 欧美午夜精品久久久久久浪潮| 亚洲精品久久久久久一区二区| 一本色道精品久久一区二区三区| 欧美日韩成人在线视频| 一本色道久久综合亚洲精品按摩| 亚洲一区二区三区成人在线视频精品| 欧美日韩免费在线观看| 一区二区三区四区五区精品| 欧美亚洲系列| 狠狠色丁香婷综合久久| 噜噜噜噜噜久久久久久91| 亚洲人成网在线播放| 亚洲一区二区三区色| 国产美女高潮久久白浆| 久久人人看视频| 亚洲美女在线看| 欧美一区二区三区久久精品| 在线播放国产一区中文字幕剧情欧美| 噜噜噜在线观看免费视频日韩| 91久久精品国产91久久性色tv| 亚洲天堂男人| 精久久久久久| 欧美日韩国产一区二区三区| 亚洲综合色丁香婷婷六月图片| 久久久www成人免费无遮挡大片| 亚洲高清毛片| 欧美亚州韩日在线看免费版国语版| 欧美一区二区精品久久911| 欧美二区在线观看| 亚洲欧美日韩在线播放| 亚洲国产日韩一区二区| 国产精品久久久久aaaa樱花| 久久超碰97中文字幕| 最新国产成人在线观看| 久久精品二区| 亚洲一级电影| 亚洲国产天堂网精品网站| 国产精品一区在线观看你懂的| 美日韩在线观看| 午夜在线观看欧美| 91久久国产综合久久蜜月精品 | 欧美成人一区二区在线| 亚洲免费一区二区| 亚洲国产婷婷香蕉久久久久久99 | 亚洲欧美日韩一区二区在线| 欧美国产欧美亚州国产日韩mv天天看完整 | 久久综合中文色婷婷| 亚洲午夜激情网页| 亚洲国产精品一区制服丝袜| 欧美在线视频全部完| av成人毛片| 亚洲黄色影片| 在线观看欧美一区| 国产亚洲aⅴaaaaaa毛片| 国产精品黄页免费高清在线观看| 欧美精品播放| 欧美激情欧美激情在线五月| 久久久夜精品| 欧美在线视频a| 亚洲图片激情小说|