Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android開發中Activity之間傳值與跳轉

Android開發中Activity之間傳值與跳轉

編輯:Android開發實例

  我們知道在安卓開發當中一個Android的應用程序中,很少只存在一個Activity,一般都有多個Activity,如何在多個Activity之間進行跳轉和傳值呢?我們可以通過 Intent 對象來實現上面所述的功能。下面通過在FirstActivity中實現兩個數進行相加,把相加的結果值通過Intent把值傳遞到SecondActivity中。 我們新建一個Android的工程,有兩個Activity,分別為FirstActivity 和 SecondActivity ,同時在資源文件下的 res/layout 目錄下也有兩個布局文件,分別為 main.xml【對應FirstActivity】和secondlayout.xml【對應SecondActivity】,目錄的結構圖如下:



  在 main.xml 布局文件中添加兩個EditText控件,一個TextView控件,一個Button按鈕,代碼如下:

  <?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">

  <EditText

  android:id="@+id/firstNum"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"/>

  <TextView

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:text="加"

  android:textSize="20sp"

  />

  <EditText

  android:id="@+id/secondNum"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"/>

  <Button

  android:id="@+id/btnCalc"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:text="計算結果"/>

  </LinearLayout>

  在secondlayout.xml布局文件中,添加一個EditText控件來顯示從FirstActivity中傳過來的值。代碼如下:

  <?xml version="1.0" encoding="utf-8"?>

  <LinearLayout

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent">

  <EditText

  android:id="@+id/result"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"/>

  </LinearLayout>

  在FirstActivity中的代碼如下:

  package com.andyidea.test;

  import android.app.Activity;

  import android.content.Intent;

  import android.os.Bundle;

  import android.view.View;

  import android.widget.Button;

  import android.widget.EditText;

  public class FirstActivity extends Activity {

  EditText firstNum,secondNum;

  Button calc;

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  firstNum = (EditText)findViewById(R.id.firstNum);

  secondNum = (EditText)findViewById(R.id.secondNum);

  calc = (Button)findViewById(R.id.btnCalc);

  calc.setOnClickListener(new View.OnClickListener() {

  @Override

  public void onClick(View v) {

  String num1 = firstNum.getText().toString();

  String num2 = secondNum.getText().toString();

  Intent intent = new Intent();

  intent.putExtra("one", num1);

  intent.putExtra("two", num2);

  intent.setClass(FirstActivity.this, SecondActivity.class);

  startActivity(intent);

  }

  });

  }

  }

  在SecondActivity中的代碼如下:

  package com.andyidea.test;

  import android.app.Activity;

  import android.content.Intent;

  import android.os.Bundle;

  import android.widget.EditText;

  public class SecondActivity extends Activity {

  EditText result;

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.secondlayout);

  result = (EditText)findViewById(R.id.result);

  Intent intent = getIntent();

  String num1 = intent.getStringExtra("one");

  String num2 = intent.getStringExtra("two");

  int ret = Integer.parseInt(num1) + Integer.parseInt(num2);

  result.setText(ret+"");

  }

  }

  同時別忘了在Manifest配置文件中對SecondActivity進行注冊。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved