AndroidActivity之間的傳值示例
版權宣告:本文可能為博主原創文章,若標明出處可隨便轉載。 https://blog.csdn.net/Jailman/article/details/78260581
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`
}
相關文章
- AbilitySlice之間的傳遞值
- AbilitySlice之間的回傳值
- Vue之元件間傳值Vue元件
- Vue父子之間的值傳遞Vue
- Vue - 元件之間的傳值方式Vue元件
- 父子元件之間的傳值問題元件
- Vue.js 元件之間的傳值Vue.js元件
- vue 兄弟元件之間傳值之busVue元件
- 專案分享三:頁面之間的傳值
- windows form (窗體) 之間傳值小結WindowsORM
- vue父子元件之間傳值以及方法呼叫Vue元件
- 元件:非父子間傳值(同級傳值)元件
- 非父子元件間的傳值元件
- ASP.NET頁面之間的幾種傳值方法ASP.NET
- Vue 元件間傳值Vue元件
- Vue--子元件之間相互呼叫及傳值Vue元件
- vue---註冊元件、元件之間父子傳值Vue元件
- 動態渲染之vue頁面向元件間傳值Vue元件
- 網頁間傳值怎麼傳網頁
- Vue 元件間的傳值(通訊)Vue元件
- java 獲取傳入值的區間Java
- 關於vue中props特性以及父子之間傳值的總結Vue
- javascript兩個靜態頁面之間傳遞和接收值JavaScript
- 靜態頁面之間傳值簡單程式碼例項
- 在兩個ASP.NET頁面之間傳遞值 (轉)ASP.NET
- JavaScript之按值傳遞JavaScript
- JSP頁面間傳值方法JS
- 頁面間傳值與跳轉的區別
- vue之prop,emit資料傳遞示例VueMIT
- vue兩個元件間值的傳遞或修改方式Vue元件
- Go高階特性 13 | 引數傳遞:值、引用及指標之間的區別?Go指標
- vue元件之間的資料傳遞Vue元件
- JavaWeb開發之頁面傳值JavaWeb
- Java學習之值傳遞(轉)Java
- [MUI] mui框架實現頁面間傳值UI框架
- ASP.NET頁面間傳值彙總ASP.NET
- DuckDB_SQL-使用示例以及和PG之間的概念SQL
- 兄弟元件之間資訊傳遞元件