Android-----Intent中通過startActivity(Intent intent )顯式啟動新的Activity

来源:https://www.cnblogs.com/xiobai/archive/2019/04/28/10775386.html
-Advertisement-
Play Games

Intent:即意圖,一般是用來啟動新的Activity,按照啟動方式分為兩類:顯式Intent 和 隱式Intent 顯示Intent就是直接以“類名稱”來指定要啟動哪一個Activity:Intent intent = new Intent(this , activity.class); 其中a ...


Intent:即意圖,一般是用來啟動新的Activity,按照啟動方式分為兩類:顯式Intent隱式Intent

顯示Intent就是直接以“類名稱”來指定要啟動哪一個Activity:Intent intent = new Intent(this , activity.class);  其中activity.class就是要指定啟動的activity

舉個例子:新建有兩個Activity:MainActivity 和 DemoActivity,現在從MainActivity跳轉到DemoActivity

 

activity_main.xml如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     xmlns:app="http://schemas.android.com/apk/res-auto"
 5     xmlns:tools="http://schemas.android.com/tools"
 6     android:layout_width="match_parent"
 7     android:layout_height="wrap_content"
 8     android:orientation="vertical"
 9     android:layout_gravity="center"
10     android:gravity="center"
11     tools:context="com.hs.example.exampleapplication.MainActivity">
12 
13     <Button
14         android:id="@+id/btn_demoActivity"
15         android:layout_width="wrap_content"
16         android:layout_height="match_parent"
17         android:text="跳轉到DemoActivity"/>
18 
19 </LinearLayout>

 

MainActivity.java代碼如下:

 1 public class MainActivity extends AppCompatActivity implements View.OnClickListener{
 2 
 3     Button btn_intent;
 4 
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.activity_main);
 9 
10      
11         btn_intent = this.findViewById(R.id.btn_demoActivity);
12         btn_intent.setOnClickListener(this);
13 
14     }
15 
16     @Override
17     public void onClick(View view) {
18        
19         Intent intent = new Intent(MainActivity.this,DemoActivity.class);
20         startActivity(intent);
21 
22 
23     }
24 }

 

 運行後點擊顯示按鈕就可以跳到新的activity

 

如果需要傳遞數據到新的activity中:

 

1 @Override
2 17     public void onClick(View view) {
3 18        
4 19         Intent intent = new Intent(MainActivity.this,DemoActivity.class);
5 20         intent.putExtra(String name , String value);  //以鍵值對的方式傳遞數據
6 21 
7 22         startActivity(intent);
8 23     }

 

傳遞過來的參數獲取方式:

 

1 Intent intent = getIntent();
2 
3 String str = intent.getStringExtra("key");         //讀取傳過來的key中的數據
4 int i = intent.getIntExtra("key",0);               //沒有值預設為0

如果想傳遞更多數據可以瞭解:Bundle

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 終端輸入: sudo cat /etc/mysql/debian.cnf顯示內容:# Automatically generated for Debian scripts. DO NOT TOUCH![client]host = localhostuser = debian-sys-maintpas ...
  • 首先刪除mysql: 然後清理殘留的數據 它會跳出一個對話框,你選擇yes就好了 然後安裝mysql 安裝的時候會提示要設置root密碼,如果你沒有在卸載的時候去清理殘留數據是不會提示你去設置root密碼的 檢查mysql是不是在運行 一般安裝完成之後都是會自動運行的。 如果沒有運行你可以 ...
  • 本篇主要講Elasticsearch的_search API的簡單使用, 包括在URI中拼接請求體的方式實現查詢、對主要查詢參數的含義和使用進行演示, 還講到了timeout超時機制的作用和使用方法. ...
  • Redis_啟動後雜項基礎 Redis一共16個資料庫 SELECT[0~15] 來切換資料庫 命令起效返回1 不起效返回0 或者nil 或者error 異常... DBSIZE 查詢數據的數 KEYS * 顯示所有的key值.支持Ant風格 KEYS k? 只查詢k1 k2 而不查詢k11 KEY ...
  • 本文拷貝自: http://aix.colintree.cn/zh/HowToInstallExtensions.html 並且強烈推薦 http://aix.colintree.cn 網站。 首先呢,找到下載好的.aix文件下載的文件不是aix的話: aix文件需要作為一個整體上傳,所以不需要再做 ...
  • 首先熟悉導入、導出項目是為了養成良好的備份習慣。 一、登陸App Inventor 2編程界面都大同小異,在項目菜單下麵有導入項目和導出項目菜單。 二、打開導入項目界面,選擇要導入的aia文件。 三、導入成功後,可以看到指南針項目的內容 四、修改項目後,記得導出項目到本地電腦硬碟或U盤作為備份。 ...
  • 註意:每次退出前導出自己的項目到本地做備份。 單機版特點: 1.同步官方最新版本,沒有對java源代碼進行修改,僅修改war\login.jsp及\war\WEB-INF\appengine-web.xml; 2.無需聯網,已經設置Rendezvous伺服器為127.0.0.1:8888; 3.帶有 ...
  • 路由大家應該都知道,在微信小程式也是有的,畢竟它是單頁面應用程式。在WeChat中有五種跳轉方式,分別是wx.switchTab、wx.reLaunch、wx.redirectTo、wx.navigateTo、wx.navigateBack。今天我們就說一說 如何使用這幾個API來跳轉頁面,並且我們 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...