編輯:關於Android編程
廢話不多說了,直接給大家貼代碼了。
package com.example.testactivityresquest;
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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Activityb.class);
int[] nums = { , };
intent.putExtra(Changliang.KEY, nums);
//有別於startActivity,如果啟動的其他Activity多了以後。相當於定一個特定KEY值,返回根據KEY值返回。
startActivityForResult(intent, Changliang.requestCode);
}
});
}
//Activityb傳回來的數據在這個方法中獲取
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
int s = data.getIntExtra(Changliang.Activity_b_KEY, );
Toast.makeText(getApplicationContext(), "傳遞兩個數得到的和是:" + s, ).show();
}
}
package com.example.testactivityresquest;
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 Activityb extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activityb);
Intent intent = this.getIntent();
int[] n = intent.getIntArrayExtra(Changliang.KEY);
final int nums = n[] + n[];
Toast.makeText(this, n[] + " " + n[], ).show();
Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Activityb.this, MainActivity.class);
intent.putExtra(Changliang.Activity_b_KEY, nums);
// 將數據根據特定鍵值的意圖事件導入
Activityb.this.setResult(Changliang.requestCode, intent);
//關閉後返回主Activity
Activityb.this.finish();
}
});
}
}
package com.example.testactivityresquest;
public class Changliang {
public static final String KEY="key";
public static final String Activity_b_KEY="key1";
public static final int requestCode=1987;
}
xml文件:
<RelativeLayout 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:background="#ff" >
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="dp"
android:text="啟動Activityb" />
</RelativeLayout>
<?xml version="." encoding="utf-"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff"
android:orientation="vertical" >
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="返回Activity" />
</LinearLayout>
別忘在AndroidManifast中注冊activityb。
運行效果圖:

startActivityForResult與startActivity的不同之處在於:
1、startActivity( )
僅僅是跳轉到目標頁面,若是想跳回當前頁面,則必須再使用一次startActivity( )。
2、startActivityForResult( )
可以一次性完成這項任務,當程序執行到這段代碼的時候,假若從T1Activity跳轉到下一個Text2Activity,而當這個Text2Activity調用了finish()方法以後,程序會自動跳轉回T1Activity,並調用前一個T1Activity中的onActivityResult( )方法。
Android中通過反射來設置顯示時間
這個Toast的顯示在Android中的用途還是很大的,同時我們也知道toast顯示的時間是不可控的,我們只能修改他的顯示樣式和顯示的位置,雖然他提供了一個顯示時間的設置
Android Sensor詳解(1)簡介與架構
序最近在學習有關如何porting sensor的東西,僅借此機會寫博客來督促自己進步,當然如果,有人對博客提出不同的理解,我覺得這是極好的,大家可以共同進步。在這一期的
ListView 源碼分析
前言雖然 RecyclerView 出來很長時間了,ListView 似乎已經過時了,但 ListView 仍然有許多優秀的思想值得學習。講到 ListView,大家都會
Android tips(十二)--)Android開發中使用矢量圖
本文我們將介紹一些關於Android矢量圖的相關知識點。最新的項目中要求以矢量圖替代傳統的.png資源文件,所以特意學習了一下Android中的矢量圖相關概念,不得不說矢