您的位置:首页 > 移动开发 > Android开发

Android Activity之间的传值示例

2017-10-17 15:00 316 查看
AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="online.geekgalaxy.activityargsdelivery">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MyActivity"
android:label="@string/title_activity_my_activity2" >
</activity>
</application>

</manifest>
MainActivity.java
package online.geekgalaxy.activityargsdelivery;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;

public class MainActivity extends AppCompatActivity {

private Button btnregister;
private EditText editname;
private RadioGroup rad;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btnregister = (Button)findViewById(R.id.btnregister);
editname = (EditText)findViewById(R.id.editname);
rad = (RadioGroup)findViewById(R.id.radioGroup);
btnregister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name,sex = "";
Intent it = new Intent(MainActivity.this,MyActivity.class);

name = editname.getText().toString();

//遍历RadioGroup找出被选中的单选按钮
for(int i = 0;i < rad.getChildCount();i++)
{
RadioButton rd = (RadioButton)rad.getChildAt(i);
if(rd.isChecked())
{
sex = rd.getText().toString();
break;
}
}

//新建Bundle对象,并把数据写入
Bundle bd = new Bundle();
bd.putCharSequence("user",name);
bd.putCharSequence("sex",sex);

//将数据包Bundle绑定到Intent上
it.putExtras(bd);
startActivity(it);
//关闭第一个Activity
finish();

}
});
}
}
MyActivity.java
package online.geekgalaxy.activityargsdelivery;

/**
* Created by jailman on 2017/10/17.
*/

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MyActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);

TextView txtshow = (TextView) findViewById(R.id.txtshow);
//获得Intent对象,并且用Bundle出去里面的数据
Intent it = getIntent();
Bundle bd = it.getExtras();

//按键值的方式取出Bundle中的数据
String name = bd.getCharSequence("user").toString();
String sex = bd.getCharSequence("sex").toString();
txtshow.setText("尊敬的"+ name + " " + sex + "士"+"恭喜你,注册成功~");
}

}
layout
activity_main.xml

<LinearLayout 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:orientation="vertical"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入注册信息:"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名:"/>

<EditText
android:hint="请输入用户名"
android:id="@+id/editname"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性 别:"
/>

<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">

<RadioButton
android:id="@+id/btnman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:checked="true"/>

<RadioButton
android:id="@+id/btnwoman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"/>
</RadioGroup>
</LinearLayout>

<Button
android:id="@+id/btnregister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册"/>

</LinearLayout>
activity_2.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"
tools:context="online.geekgalaxy.activityargsdelivery.MyActivity">

<TextView
android:id="@+id/txtshow"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</RelativeLayout>
values
strings.xml

<resources>
<string name="app_name">ActivityArgsDelivery</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title_activity_my_activity2">MyActivity2</string>
</resources>
build.gradle
apply plugin: 'com.android.application'

android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "online.geekgalaxy.activityargsdelivery"
minSdkVersion 25
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐