使用显式Intent向下一个活动传递数据
生活随笔
收集整理的這篇文章主要介紹了
使用显式Intent向下一个活动传递数据
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在啟動活動時傳遞數(shù)據(jù)的思路很簡單,Intent提供了一系列putExtra()方法的重載,可以把我們想要傳遞的數(shù)據(jù)暫存在Intent中,啟動了另一個活動后,只需要把這些數(shù)據(jù)再從Intent中取出取出就可以了。比如說MainActivity中有一個字符串,現(xiàn)在想把這個字符傳遞到SecondActivity中,你就可以在MainActivity中這樣子編寫:
btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String value="Hello SecondActivity";Intent intent=new Intent(MainActivity.this,SecondActivity.class);intent.putExtra("key",value);startActivity(intent);}});其次再在SecondActivity中獲取傳遞過來的Intent,然后通過鍵值對的方式獲取Intent中的鍵值,然后再用TextView控件將獲取到的String類型的字符串消息在SecondActivity的布局上顯示。
activity_main.xml文件中的代碼:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:orientation="vertical"><TextViewandroid:id="@+id/tv_msg"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="This is the SecondActivity."android:textSize="20sp" /></LinearLayout>?
SecondActivity.java中的代碼:
package com.example.administrator.activitydemo;import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView;public class SecondActivity extends AppCompatActivity {private TextView tv_msg;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);initializeView();initializeData();}private void initializeView() {tv_msg=(TextView)findViewById(R.id.tv_msg);}private void initializeData() {Intent intent=getIntent();String msg=intent.getStringExtra("key");tv_msg.setText(""+msg);} }這個時候重新運行一下程序,點擊btn1按鈕,活動就會從MainActivity跳轉(zhuǎn)到SecondActiviy,并且將數(shù)據(jù)傳給SecondActivity中了。效果圖如下:
總結(jié)
以上是生活随笔為你收集整理的使用显式Intent向下一个活动传递数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用隐式Intent打开系统内置拨号界面
- 下一篇: 返回数据给上一个活动