日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > 第四章 Android開發(fā)三大基石―Activity、Service和Handler(3)

第四章 Android開發(fā)三大基石―Activity、Service和Handler(3)

來源:程序員人生   發(fā)布時(shí)間:2015-01-30 08:36:34 閱讀次數(shù):3899次

4.1.5Activity交互―Activity跳轉(zhuǎn)

1般的,我們的利用程序都不會(huì)簡單到只有1個(gè)界面,而是會(huì)有很多個(gè)界面,這個(gè)時(shí)候我們就會(huì)創(chuàng)建多個(gè)Activity,然后根據(jù)業(yè)務(wù)邏輯在多個(gè)Activity之間進(jìn)行跳轉(zhuǎn)。

我們可以用切換Layout的方式進(jìn)行手機(jī)頁面間的轉(zhuǎn)換。但是如果要轉(zhuǎn)換的頁面其實(shí)不單單只是背景、色彩或文字內(nèi)容的不同,而是需要對(duì)全部Activity進(jìn)行置換,并將主控權(quán)交給新的Activity,那就不是僅靠改變Layout就可以完成了,我們需要在這些Activity中進(jìn)行跳轉(zhuǎn)及數(shù)據(jù)傳遞。

Activity跳轉(zhuǎn)實(shí)現(xiàn)起來也非常簡單,可使用Intent來實(shí)現(xiàn)利用程序內(nèi)部的Activity跳轉(zhuǎn)。我們比較經(jīng)常使用的有兩種。1種是單純的跳轉(zhuǎn),即跳轉(zhuǎn)完以后就不管跳轉(zhuǎn)前的Activity了,另外一種是跳轉(zhuǎn)到下1個(gè)Activity,并等待它的返回結(jié)果進(jìn)行相干的操作。

下面,我們以1個(gè)簡單的例子來加以說明。

1)1般的跳轉(zhuǎn)

一樣的,我們新建1個(gè)NextActivity.java類繼承自Activity,它的布局文件中只有1個(gè)TextView,顯示的內(nèi)容為“This is Activity 2”。

假定我們剛剛創(chuàng)建的MyActivity.java為當(dāng)前Activity,NextActivity.java為下1個(gè)要跳轉(zhuǎn)Activity。我們?cè)趍ain.xml布局文件中,增加1個(gè)按鈕,點(diǎn)擊后實(shí)現(xiàn)從MyActivity.java跳轉(zhuǎn)到NextActivity.java的效果,布局文件代碼以下:

<?xml version="1.0" encoding="utf⑻"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent" >

<TextView 

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="This is Activity 1"/>

<Button

        android:id="@+id/my_button"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="跳轉(zhuǎn)"/>

</LinearLayout>

 

然后,我們來看看MyActivity中的代碼:

private Button btn;

   

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        btn = (Button)findViewById(R.id.my_button);

        btn.setOnClickListener(new View.OnClickListener() {

            

             @Override

             public void onClick(View v) {

                 Intent intent = new Intent();

                 intent.setClass(MyActivity.this, NextActivity.class);

                 startActivity(intent);

             }

        });

    }

 

我們運(yùn)行1下來看看效果,如圖4⑷所示:

圖4⑷ Activity跳轉(zhuǎn)前

 

下面,我們點(diǎn)擊1下按鈕。這個(gè)時(shí)候,運(yùn)行出錯(cuò)了,毛病緣由是“android.content.ActivityNotFoundException”,這是由于我們?cè)贏ndroidManifest.xml文件中沒有配置NextActivity,我們簡單配置1下:

<activity android:name=".NextActivity" android:label="@string/app_name"/>

 

現(xiàn)在再點(diǎn)擊按鈕后,效果如圖4⑸所示:

圖4⑸ Activity跳轉(zhuǎn)后

 

可以看到,跳轉(zhuǎn)已成功了。

--------------------------------------------
試著放個(gè)廣告 現(xiàn)在沒工作 要生存 沒辦法
平安陸金所 隸屬于平安團(tuán)體的p2p平臺(tái)
年投資回報(bào)率7%-9% 是替換銀行理財(cái)?shù)氖走x
個(gè)人經(jīng)驗(yàn)教訓(xùn) 推薦投資安鑫或有擔(dān)保的彩虹項(xiàng)目
不要投資安e 那個(gè)幾近沒法轉(zhuǎn)讓 想提早提現(xiàn)非常困難
注冊(cè)鏈接 http://affiliate.lufax.com/action/36XBU
用此鏈接注冊(cè) 你我都會(huì)有幾10元的額外現(xiàn)金嘉獎(jiǎng)
--------------------------------------------

2)跳轉(zhuǎn)并返回值

可能很多時(shí)候,1般的跳轉(zhuǎn)其實(shí)不能滿足我們的需求。例如,我們填好1個(gè)表單,提交以后出錯(cuò)了,我們回退以后想保存之前已填的數(shù)據(jù),這樣的話,僅僅只是簡單的跳轉(zhuǎn)就不能滿足了。

下面,我們來看另外一種跳轉(zhuǎn)方式。在這個(gè)例子中,我們要實(shí)現(xiàn)從MyActivity跳轉(zhuǎn)到NextActivity,并當(dāng)MyActivity接收到NextActivity返回來的“信息”時(shí),MyActivity中顯示消息,MyActivity中跳轉(zhuǎn)代碼以下:

Intent intent = new Intent();
intent.setClass(MyActivity.this, NextActivity.class);

startActivityForResult(intent, 1);

 

這樣就從MyActivity跳轉(zhuǎn)到了NextActivity,并傳入了1個(gè)要求碼“1”。同時(shí),我們需要在MyActivity.java中重寫Activity中的onActivityResult方法,用于接收NextActivity.java中的返回碼,代碼以下:

@Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        switch(resultCode){

        case RESULT_OK:

             // 當(dāng)返回碼為RESULT_OK時(shí)進(jìn)行相干操作

        if(requestCode == 1){

                Toast.makeText(Char4Activity.this, "返回已收到", Toast.LENGTH_LONG).show();

            }

             break;

        }

}

 

這里需要注意的是resultCode相當(dāng)于1個(gè)開關(guān),當(dāng)NextActivity.java中的開關(guān)打開時(shí), 就會(huì)進(jìn)行相應(yīng)的處理了。

修改NextActivity的onCreate方法:

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.next);

    setResult(RESULT_OK);

    finish();

}

 

下面,我們來看看效果,如圖4⑹所示:

圖4⑹ Activity跳轉(zhuǎn)后返回值

 

4.1.6 Activity中數(shù)據(jù)傳遞

很多時(shí)候,我們不是單單只進(jìn)行Activity跳轉(zhuǎn),而是在進(jìn)行Activity跳轉(zhuǎn)的同時(shí)傳遞數(shù)據(jù),這里我們就能夠利用Android.os.Bundle對(duì)象封閉數(shù)據(jù)的能力,將所要傳遞的數(shù)據(jù)或參數(shù)通過Bundle來傳遞不同Activity間的數(shù)據(jù)。還以之前的代碼為例,我們要實(shí)現(xiàn)從當(dāng)前Activity跳轉(zhuǎn)到下1個(gè)Activity的同時(shí),并傳入1個(gè)double型參數(shù),1個(gè)String型參數(shù),在MyActivity.java中代碼以下:

Intent intent = new Intent();
intent.setClass(MyActivity.this, NextActivity.class);

Bundle bundle = new Bundle();

double height = 1.74;

String name = "li lei";

bundle.putDouble("height", height);

bundle.putString("name",name);

intent.putExtras(bundle);
startActivity(intent);

 

有1方發(fā)送參數(shù),就必定有1方要接收參數(shù)。它的接收實(shí)現(xiàn)起來也很簡單,在NextActivity.java中代碼以下:

Bundle bundle = NextActivity.this.getIntent().getExtras();

double height = bundle.getDouble("height");

String name = bundle.getString("name");

 

經(jīng)驗(yàn)分享:

需要注意的是,當(dāng)履行startActivityForResult時(shí),requestCode值需要>=0,否則,startActivityForResult就變成了 startActivity;另外,有這樣1種情況,假定現(xiàn)在有兩個(gè)Activity:A和B。Activity A使用startActivityForResult跳轉(zhuǎn)到Activity B,跟蹤后發(fā)現(xiàn)要跳轉(zhuǎn)的Activity B并沒有被立即啟動(dòng),而是直接履行了Activity A的onActivityResult方法,緣由是把要啟動(dòng)的Activity B的launchmode設(shè)置成singleTask了,這個(gè)時(shí)候它會(huì)先履行onActivityResult方法,然后再啟動(dòng)activity,所以就得不到我們想要的結(jié)果。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 美女色又黄一级毛片 | 91在线精品秘密一区二区 | 在线观看黄网站 | 亚洲你懂的 | 亚洲精品日韩精品 | 亚洲欧洲精品成人久久曰影片 | 国产三区精品 | 91精品国产91久久综合桃花 | 欧美日韩视频一区二区 | 亚洲视频在线视频 | 黄色电影在线免费观看 | 亚洲欧美一区二区三区国产精品 | 亚洲色图25p| 国产人成看黄久久久久久久久 | 在线看一区二区 | 亚洲成人久久久 | 红桃视频成人免费网站 | 精品久久久网站 | 精品国产一区二区在线 | 久久久久99精品国产片 | 亚洲免费小视频 | 国产一区二区精品在线 | 国产精品美女久久久 | 欧美亚洲一 | 久久国产精品区 | 欧洲成人午夜免费大片 | 99在线国产 | 亚洲青涩在线 | 91小视频| 精品久久亚洲 | 久久国产高清 | 久久精品成人一区二区三区蜜臀 | 玖玖玖影院 | 日本久久精品视频 | 91精品久久久久久久久久久 | 87福利视频 | 在线国产一区二区 | 中文字幕精品一区 | 中文字幕在线三区 | 亚洲欧洲一级片 | 日本三级网 |