日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

启动Activity的两种方式startActivity和startActivityForResult(一)

發布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 启动Activity的两种方式startActivity和startActivityForResult(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

啟動Activity有兩種方式:

1,startActivity(Intent intent);啟動其他Activity

2,startActivityForResult(Intent intent,int requestCode):以指定指定的請求碼(requestCode)啟動Activity,并且程序將會等到新啟動Activity的結果(通過重寫onActivityResult()方法來獲取)

啟動Activity是可指定一個requestCode參數,該參數代表了啟動Activity的請求碼。這個請求碼的值由開發者自己設置,其實就是一個int整數值,只是用于表示請求來源

關閉Activity的兩種方法:

1,finish():結束當前Activity;

2,finishActivity(intrequestCode):結束以startActivityForResult(Intent intent,int requestCode)方法啟動的Activity。


startActivity和startActivityForResult的區別

startActivity在啟動其他Activity之后是不會被回調回來的,相當于啟動者和被啟動者在啟動完畢之后是沒有關系的

startActivityForResult在啟動了其他Activity之后是由回調的,也就是說啟動者與被啟動者在啟動完畢之后依然是有關系的


第一種方式比較直接,通過A的界面組件(比如按鈕)可以啟動第二個ActivityB,但是A和B之間不會傳遞數據,也就是無法進行通信

其基本代碼模板是:

// 創建需要啟動的Activity對應的Intent Intent intent = new Intent(StartActivity.this,SecondActivity.class); // 啟動intent對應的Activity startActivity(intent); 例,第一個Activity很簡單,值由一個按鈕,該按鈕進入第二個Activity, 第二個Activity只有兩個按鈕,一個按鈕簡單的返回第一個Activity,但是不會結束自己,第二個按鈕結束自己并返回上一個Activity

StartActivity.java

public class StartActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);// 獲取應用程序中的bn按鈕Button bn = (Button) findViewById(R.id.bn);// 為bn按鈕綁定事件監聽器bn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){// 創建需要啟動的Activity對應的IntentIntent intent = new Intent(StartActivity.this,SecondActivity.class);// 啟動intent對應的ActivitystartActivity(intent);}});} }SecondActivity.java

public class SecondActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);// 獲取應用程序中的previous按鈕Button previous = (Button) findViewById(R.id.previous);// 獲取應用程序中的close按鈕Button close = (Button) findViewById(R.id.close);// 為previous按鈕綁定事件監聽器previous.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){// 獲取啟動當前Activity的上一個IntentIntent intent = new Intent(SecondActivity.this,StartActivity.class);// 啟動intent對應的ActivitystartActivity(intent);}});// 為close按鈕綁定事件監聽器close.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){// 獲取啟動當前Activity的上一個IntentIntent intent = new Intent(SecondActivity.this,StartActivity.class);// 啟動intent對應的ActivitystartActivity(intent);// 結束當前Activityfinish();}});} }

總結

以上是生活随笔為你收集整理的启动Activity的两种方式startActivity和startActivityForResult(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。