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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用Intent来启动Activity并传递参数

發布時間:2024/4/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Intent来启动Activity并传递参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.背景:

要創建并顯示一個Activity,可以調用startActivity,并傳遞給它一個Intent,如下面的代碼所示:

startActivity(Intent myIntent);

可以構造Intent來顯示地指定要打開的Activity類,或者包含一個目標Activity必須執行的動作。在后一種情況中,運行時將會使用一個稱為“Intent解析(Intent resolution)”的過程來動態選擇Activity。

還可以通過向Intent添加extra來向目標Activity發送額外的數據。

2.實例

利用startActivity創建并顯示一個Activity,并向其傳遞數據。

1》程序啟動時:


其布局代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.demo.parameterdemo.MainActivity" ><EditTextandroid:id="@+id/info_et"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="在這里輸入要傳送的內容..." /><Button android:id="@+id/startAnotherActivity"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="開始傳遞"/></LinearLayout>
其中“開始傳遞”的事件處理代碼如下:

// 啟動子Activity,并從中獲取返回信息private void startAnotherActivity() {Intent startIntent = new Intent(getApplicationContext(),AnotherActivity.class);startIntent.putExtra(AnotherActivity.RETURN_INFO, infoEditText.getText().toString());/** //也可以使用這種方式 * Bundle argBundle=new Bundle();* argBundle.putString(AnotherActivity.RETURN_INFO,* infoEditText.getText().toString()); * startIntent.putExtras(argBundle);*/startActivity(startIntent);}
2》輸入數據,如下圖所示


3》點擊“開始傳遞”,如下圖所示


可以看到已經成功,那么是如何接收到該數據呢?

private void getINFO() {// 獲取傳遞過來的信息。String infoString = getIntent().getStringExtra(RETURN_INFO);subTextView.setText(infoString);}
3.詳細代碼如下:

1》MainActivity.java

package com.demo.parameterdemo;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;public class MainActivity extends Activity {// 聲明控件private EditText infoEditText;private Button startAnotherButton;// 請求碼private static final int ACTIVITY_REQUEST_CODE = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}// 初始化private void init() {// 得到相應控件的引用infoEditText = (EditText) findViewById(R.id.info_et);startAnotherButton = (Button) findViewById(R.id.startAnotherActivity);// 注冊事件startAnotherButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstartAnotherActivity();}});}// 啟動子Activity,并從中獲取返回信息private void startAnotherActivity() {Intent startIntent = new Intent(getApplicationContext(),AnotherActivity.class);startIntent.putExtra(AnotherActivity.RETURN_INFO, infoEditText.getText().toString());/** //也可以使用這種方式 * Bundle argBundle=new Bundle();* argBundle.putString(AnotherActivity.RETURN_INFO,* infoEditText.getText().toString()); * startIntent.putExtras(argBundle);*/startActivity(startIntent);}}
2》SubActivity.java

package com.demo.parameterdemo;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;public class AnotherActivity extends Activity {// 聲明控件private TextView subTextView;// 用于唯一標識要返回的信息// 應該盡量的長,最好加上所在類的全名,即:包名+類名+參數名public static final String RETURN_INFO = "com.demo.parameterdemo.SubActivity.info";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_another);init();getINFO();}// 初始化private void init() {// 得到相應控件引用subTextView = (TextView) findViewById(R.id.subTextView);}private void getINFO() {// 獲取傳遞過來的信息。String infoString = getIntent().getStringExtra(RETURN_INFO);subTextView.setText(infoString);}}


總結

以上是生活随笔為你收集整理的使用Intent来启动Activity并传递参数的全部內容,希望文章能夠幫你解決所遇到的問題。

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