Android Activity之间跳转相互传值
Intent用法实例:
1.无参数Activity跳转
Intent it = new Intent(Activity.Main.this, Activity2.class);startActivity(it);
Intent it = new Intent(Activity.Main.this, Activity2.class);Bundle bundle=new Bundle();bundle.putString("name", "This is from MainActivity!");it.putExtras(bundle); // it.putExtra(“test”, "shuju”);startActivityForResult(intent, 0);Bundle bundle = getIntent().getExtras();String name = bundle.getString("name");<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="iaiai.test" android:versionCode="1" android:versionName="1.0"><uses-sdk android:minSdkVersion="8" /><application android:icon="@drawable/icon" android:label="@string/app_name"><activity android:name=".MyList" android:label="@string/contact_title"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".TestWidget" android:label="@string/contact_title"></activity></application><uses-permission android:name="android.permission.READ_CONTACTS" /><!-- 在SD卡中创建文件与删除文件权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /><!-- 往SD卡中写入数据权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /></manifest>
<?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/et" android:layout_width="fill_parent"android:layout_height="wrap_content" /><Button android:id="@+id/bt" android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="@string/btn_next"></Button></LinearLayout>
<?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="wrap_content" android:id="@+id/myListItem"><EditText android:id="@+id/et1" android:layout_width="fill_parent"android:layout_height="wrap_content" /><Button android:id="@+id/bt1" android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="@string/btn_return"></Button></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, TestListView!</string> <string name="app_name">TestListView</string> <string name="contact_title">Contact</string> <string name="btn_next">Next</string> <string name="btn_return">Prev</string></resources>
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, TestListView!</string> <string name="app_name">TestListView</string> <string name="contact_title">联系人</string> <string name="btn_next">下一步</string> <string name="btn_return">返回</string></resources>
package iaiai.test;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.EditText;public class MyList extends Activity {private EditText editView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);editView = (EditText) findViewById(R.id.et);Button bt = (Button) findViewById(R.id.bt);bt.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MyList.this, TestWidget.class);Bundle bundle = new Bundle();bundle.putString("text", editView.getText().toString());intent.putExtras(bundle);startActivityForResult(intent, 0);// finish(); //这句意思是关闭当前Activity,也就是说点返回键返回不到这个Activity了.}});}/** * 取到回传的值 */protected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (resultCode) { // resultCode为回传的标记,我在B中回传的是RESULT_OKcase RESULT_OK:Bundle b = data.getExtras(); // data为B中回传的IntenteditView.setText(b.getString("text"));// 回传的值break;default:break;}}}package iaiai.test;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.EditText;public class TestWidget extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.list_items);Bundle bundle = getIntent().getExtras();final EditText editView = (EditText) findViewById(R.id.et1);editView.setText(bundle.getString("text"));Button bt = (Button) findViewById(R.id.bt1);bt.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(TestWidget.this, MyList.class);Bundle bundle = new Bundle();bundle.putString("text", editView.getText().toString());intent.putExtras(bundle);setResult(RESULT_OK, intent);finish(); // 这句意思是关闭当前Activity,也就是说点返回键返回不到这个Activity了.}});}}
