不同界面之間,數據的傳遞是很常用的一個操作,這種數據的攜帶也是很簡單的。
效果:
跳轉后:
這個例子很簡單,但是我們把第一個界面輸入的姓名張三順利傳遞到了第二個界面
附代碼如下:
主界面:
1 package com.yy.activity.value; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.text.TextUtils; 7 import android.view.View; 8 import android.widget.EditText; 9 import android.widget.Toast; 10 11 public class MainActivity extends Activity { 12 private EditText et_name; 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 et_name=(EditText) findViewById(R.id.et_name); 19 } 20 21 public void click(View view){ 22 //獲取文本框輸入的姓名 23 String name=et_name.getText().toString().trim(); 24 if (TextUtils.isEmpty(name)) { 25 Toast.makeText(this, "請輸入姓名", Toast.LENGTH_LONG).show(); 26 return; 27 } 28 //意圖 29 Intent intent=new Intent(); 30 //在同一個應用,因此我們使用顯式意圖 31 intent.setClassName(this, "com.yy.activity.value.ResultActivity"); 32 //攜帶字符串數據,注意:八大基本數據類型都可以攜帶 33 intent.putExtra("name", name); 34 //激活界面 35 startActivity(intent); 36 } 37 }
結果界面:
1 package com.yy.activity.value; 2 3 import java.util.Random; 4 5 import android.app.Activity; 6 import android.os.Bundle; 7 import android.widget.ProgressBar; 8 import android.widget.TextView; 9 10 public class ResultActivity extends Activity { 11 private TextView tv_rp; 12 private ProgressBar pb; 13 @Override 14 protected void onCreate(Bundle savedInstanceState) { 15 super.onCreate(savedInstanceState); 16 setContentView(R.layout.activity_result); 17 tv_rp=(TextView) findViewById(R.id.tv_rp); 18 pb=(ProgressBar) findViewById(R.id.pb); 19 //獲取傳遞過來的姓名 20 String name=getIntent().getStringExtra("name"); 21 //隨機產生人品 22 int rp=new Random().nextInt(101); 23 tv_rp.setText(name+":"+rp); 24 //設置進度條 25 pb.setProgress(rp); 26 } 27 }