• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 隱式Intent實現Activity跳轉

    標簽: android studio

    在AndroidManifest.xml文件中,各個Activity的配置如下:

    <activity
        android:name=".ActivityMain"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
    
    
    <activity android:name=".ActivitySub1">
        <intent-filter>
            <action android:name="android.intent.action.ActivitySub1"/>
            <category android:name="android.intent.category.ActivitySub1"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
    
    
    <activity android:name=".ActivitySub2">
        <intent-filter>
            <action android:name="android.intent.action.ActivitySub2"/>
            <category android:name="android.intent.category.ActivitySub2"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
    
    
    <activity android:name=".ActivitySub3">
        <intent-filter>
            <action android:name="android.intent.action.ActivitySub3"/>
            <category android:name="android.intent.category.ActivitySub3"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>

    ActivityMain的布局文件activity_main.xml如下:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.horrorkwangmail.a20171208_appnameandactivitytitlename.ActivityMain">
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="This is Activity main"
            android:textAllCaps="false"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>
    
        <Button
            android:id="@+id/buttonActivitySub1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="30dp"
            android:text="Go to Activity sub 1"
            android:textAllCaps="false"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView"
            android:onClick="buttonClick"/>
    
        <Button
            android:id="@+id/buttonActivitySub2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="30dp"
            android:text="Go to Activity sub 2"
            android:textAllCaps="false"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/buttonActivitySub1"
            android:onClick="buttonClick"/>
    
        <Button
            android:id="@+id/buttonActivitySub3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="30dp"
            android:text="Go to Activity sub 3"
            android:textAllCaps="false"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/buttonActivitySub2"
            android:onClick="buttonClick"/>
    
    </android.support.constraint.ConstraintLayout>
    

    ActivityMain加載的menu文件menu_activity_main.xml如下:

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:app="http://schemas.android.com/apk/res-auto"
          xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item
            android:id="@+id/itemActivitySub1"
            android:title="Activity sub 1"/>
    
        <item
            android:id="@+id/itemActivitySub2"
            android:title="Activity sub 2"/>
    
        <item
            android:id="@+id/itemActivitySub3"
            android:title="Activity sub 3"/>
    
    </menu>

    ActivityMain.java的Button響應代碼如下:

    public void buttonClick(View v)  //點擊各個Button的響應
    {
    	switch (v.getId())
    	{
    		case R.id.buttonActivitySub1:
    			Intent intent1=new Intent("android.intent.action.ActivitySub1");
    			intent1.addCategory("android.intent.category.ActivitySub1");
    			startActivity(intent1);
    			break;
    		case R.id.buttonActivitySub2:
    			Intent intent2=new Intent("android.intent.action.ActivitySub2");
    			intent2.addCategory("android.intent.category.ActivitySub2");
    			startActivity(intent2);
    			break;
    		case R.id.buttonActivitySub3:
    			Intent intent3=new Intent("android.intent.action.ActivitySub3");
    			intent3.addCategory("android.intent.category.ActivitySub3");
    			startActivity(intent3);
    			break;
    		default:
    			break;
    	}
    }

    ActivityMain.java的item響應代碼如下:

    public boolean onOptionsItemSelected(MenuItem item)  //點擊menu的各個item的響應
    {
    	switch (item.getItemId())
    	{
    		case R.id.itemActivitySub1:
    			Intent intent1=new Intent();
    			intent1.setAction("android.intent.action.ActivitySub1");
    			intent1.addCategory("android.intent.category.ActivitySub1");
    			startActivity(intent1);
    			break;
    		case R.id.itemActivitySub2:
    			Intent intent2=new Intent();
    			intent2.setAction("android.intent.action.ActivitySub2");
    			intent2.addCategory("android.intent.category.ActivitySub2");
    			startActivity(intent2);
    			break;
    		case R.id.itemActivitySub3:
    			Intent intent3=new Intent();
    			intent3.setAction("android.intent.action.ActivitySub3");
    			intent3.addCategory("android.intent.category.ActivitySub3");
    			startActivity(intent3);
    			break;
    		default:
    			break;
    	}
    	return super.onOptionsItemSelected(item);
    }

       而在ActivitySub1.java文件、ActivitySub2.java文件和ActivitySub3.java文件中,使用隱式Intent跳轉到Activity main中,使用的代碼如下:

    Button buttonBackToActivityMain=findViewById(R.id.buttonBackToActivityMain);
    buttonBackToActivityMain.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            Intent intent=new Intent("android.intent.action.MAIN");
            intent.addCategory("android.intent.category.LAUNCHER");
            startActivity(intent);
        }
    });

    真機測試視頻如下:


    版權聲明:本文為HorrorKwan原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/HorrorKwan/article/details/78758657

    智能推薦

    kotlin實現使用Intent進行activity之間的跳轉

    kotlin實現使用Intent進行activity之間的跳轉 xml代碼 activity_main代碼 activity_scecond代碼(用于顯式intent) activity_hello代碼(用于顯式intent及activity間數據傳輸) Kotlin代碼 MainActivity代碼 Scecond代碼(用于顯式intent) Hello代碼(用于顯式intent及activit...

    Android 顯示Intent和隱式Intent

    (二)Intent <action>用于表示這個activity能干啥 <category>更加精細的表示能干啥 指明當前想要執行的活動,在不同組件中傳遞數據。 1.顯式Intent 從ActivityTest界面跳轉到SecondActicvity界面 2.隱式Intent 更多的應用于別的App活動 將自己能做的事情提供給別的應用用,別的應用通過action和categ...

    隱式Intent的使用 app分享功能的實現

    在項目開發中,分享功能已成為必備,下面我們將使用隱式的Intent來實現 創建分享幾個必要的參數 1.將被分享的類型:文字,圖片,視屏 2.選擇器的標題 3.將被分享的數據 在Activity中新建一個shareText方法 調用分享功能的代碼 app截圖 在這里可以看,我們成功將Hello分享給QQ應用,實現分享功能關鍵在熟悉ShareCompat.IntentBuilder類的使用,通過使用B...

    Android Intent隱式使用

    創建工程: 在MainActivity對應的activity_main.xml視圖中創建一個button,值是1 在SecondActivity對應的second_layout創建一個button作為跳轉后的視圖,值是:第二個視圖 實現過程解析在代碼中:   實現效果: 在上圖中點擊button跳轉: MainActivity代碼和解析如下: activity_main.xml代碼: S...

    android studio intent使用,輸入數據,隱式跳轉,顯示返回數據

    結果:輸入數據–>隱式跳轉后—>顯示跳轉–>返回的數據...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡