Android--->Intent

來源:互聯網
上載者:User

標籤:

main.xml布局代碼實現

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >    <TextView          android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="@string/hello"        />    <!-- 建立一個按鈕事件,執行打電話 -->   <Button           android:id="@+id/mainBtn"           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:text="Call"           /></LinearLayout>

 

第二個介面布局Second.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >    <TextView          android:id="@+id/secondTxt"        android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="Second"        />    <!-- 第二個activity的介面按鈕,主介面點擊相應的按鈕會跳轉到這裡來 -->   <Button           android:id="@+id/secondBtn"           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:text="Second"           /></LinearLayout>

 

在AndroidManifest.xml註冊一下第二個activity介面

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.szy.intent.activity"      android:versionCode="1"      android:versionName="1.0">    <uses-sdk android:minSdkVersion="8" />    <application android:icon="@drawable/icon" android:label="@string/app_name">        <!-- 建立一個.MainActivity  activity-->        <activity android:name=".MainActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>                <!-- 每建立一個 activity都需要在這裡註冊一下,一個activity相當於一個介面-->        <activity android:name=".SecondActivity"                  android:label="@string/app_name">        </activity>    </application>        <!-- 表示打電話的許可權,需要手機申請提供 -->    <uses-permission android:name="android.permission.CALL_PHONE"/>    <!-- 發簡訊的許可權 -->    <uses-permission android:name="android.permission.SEND_SMS"/>    </manifest>

 

MainActivity.java 代碼實現

package com.szy.intent.activity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity{    private Button mainBtn=null;    private final static int REQUEST_CODE=1;        /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        mainBtn=(Button)findViewById(R.id.mainBtn);        mainBtn.setOnClickListener(listener);    }        private OnClickListener listener=new OnClickListener()    {                public void onClick(View v)        {//            Intent intent=new Intent();      //            intent.setAction(Intent.ACTION_SENDTO);//            intent.setData(Uri.parse("smsto:5554"));//            intent.putExtra("sms_body", "Welcome to ...");//            startActivity(intent);            Intent intent=new Intent();            //建立一個Intent對象,            intent.setClass(MainActivity.this, SecondActivity.class);   //該對象與SecondActivity進行綁定            intent.putExtra("str", "Intent Demo");  //傳遞參數過去,此時是傳遞字串Internt Demo,以及字串id號str            //startActivity(intent);            startActivityForResult(intent, REQUEST_CODE);   //開始傳遞事件,startActivityForResult用於判斷是否要返回        }            };    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data)    {        if (requestCode==REQUEST_CODE)       //主介面發送時設定的常量,非負才允許操作        {            if (resultCode==SecondActivity.RESULT_CODE)   //第二個介面RESULT_CODE            {                Bundle bundle=data.getExtras();    //設定一個Bundle來接收資料                String str=bundle.getString("back");   //接收back字串id號的資料                Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();   //在主介面顯示資料            }        }    }        }

 

SecondActivity代碼實現

package com.szy.intent.activity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class SecondActivity extends Activity{//這個RESULT_CODE於主介面RESULT_CODE實現綁定,也就是說當此時介面返回時,返回給於與自己RESULT_CODE相同值的介面    public final static int RESULT_CODE=1;      private TextView secondTxt;    //建立一個TextView來用於顯示接收過來的資料    private Button secondBtn;    //建立一個button,觸發某一個事件        @Override    protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.second);  //此時為布局檔案second.xml                //接收主介面傳遞過來的參數操作        Intent intent=getIntent();        Bundle bundle=intent.getExtras();        String str=bundle.getString("str");                //secondTxt顯示內容        secondTxt=(TextView)findViewById(R.id.secondTxt);        secondTxt.setText(str);                //點擊secondBtn觸發listener事件        secondBtn=(Button)findViewById(R.id.secondBtn);        secondBtn.setOnClickListener(listener);            }        //觸發listener事件的內容操作    private OnClickListener listener=new OnClickListener()    {                public void onClick(View v)        {            //建立一個Intent用於點擊按鈕,返回給RESULT_CODE值相同的介面,傳遞參數為Back Data,id號back            Intent intent=new Intent();            intent.putExtra("back", "Back Data");            setResult(RESULT_CODE, intent);            finish();        }            };}

 

Android--->Intent

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.