国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android頁面跳轉(intent)

2019-11-06 09:41:48
字體:
來源:轉載
供稿:網友

Intent被用來連接各個Activity,也被用來在Activity之間傳遞數據。跳轉的方法有startActivity()和startActivityForResult()。

startActivity()


從一個Activity跳轉到另一個Activity傳遞數據分兩步:

在起始Activity中存入待傳遞數據:Intent.putExtra(String K,String V)在目標Activity中取出數據:Intent.getExtra()得到一個Bundle對象,該對象包含Intent攜帶的數據。再使用Bundle.getString(String key),通過key參數,得到key對應的值。(Bundle是一個HashMap再封裝)
public class MainActivity extends Activity { @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText et=(EditText)findViewById(R.id.edittext1); Button btn=(Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO 自動生成的方法存根 Intent intent=new Intent(); String str=et.getText().toString(); intent.putExtra("Name", str); //傳遞數據 intent.setClass(MainActivity.this, Activity1.class); startActivity(intent); } }); }}public class Activity1 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); TextView tv=(TextView)findViewById(R.id.show); Intent intent=getIntent(); Bundle bundle=intent.getExtras();//接受數據 String name=bundle.getString("Name"); tv.setText("your Info is:"+"/n"+"name : "+name); }}

這里寫圖片描述 這里寫圖片描述


startActivityForResult()


完成從一個頁面跳轉到另一個頁面完成相關工作,如注冊等,在注冊頁面完成輸入等相關信息后再返回起始界面,并顯示用戶在注冊頁面輸入的相關信息。其主要步驟為:

新建Intent,并使用startActivityForResult()方法調用。重寫onActivityResult(),在該方法中處理返回結果。在目標Activity中,新建空指向的Activity,并綁定數據。使用setResult()方法,將Intent傳遞到結果中。調用finish()結束目標Activity。同時系統會調用重寫的onActivityResult()。 onActivityResult代碼如下: protected void onActivityResult(int requestCode,int resultCode,Intent data){ super.onActivityResult(requestCode, resultCode, data); }第一個參數是請求碼,標示本次結果對應哪個請求。第二個參數是結果碼,其中RESULT_OK,代表結果返回成功。RESULT_CANCELED本次操作取消返回的值。
public class MainActivity extends Activity { static final int REQUEST_CODE=0;//預定義請求碼 TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView)findViewById(R.id.show); Button btn=(Button)findViewById(R.id.register); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO 自動生成的方法存根 Intent intent=new Intent(); intent.setClass(MainActivity.this, Activity1.class); startActivityForResult(intent,REQUEST_CODE ); } }); } protected void onActivityResult(int requestCode,int resultCode,Intent data){ if(requestCode==REQUEST_CODE)//判斷請求碼是否正確 { if(resultCode==RESULT_OK){//判斷結果碼是否正確 Bundle bundle=data.getExtras(); String name=bundle.getString("Name"); tv.setText("your Info is:/n"+name); } } super.onActivityResult(requestCode, resultCode, data); }public class Activity1 extends Activity { Button confirm; EditText et; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); et=(EditText)findViewById(R.id.edittext1); confirm=(Button)findViewById(R.id.confirm); confirm.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO 自動生成的方法存根 Intent intent=new Intent(); String name=et.getText().toString(); intent.putExtra("Name", name); setResult(RESULT_OK, intent);//將Intent設置到結果中 finish();//結束Activity } }); }

這里寫圖片描述 這里寫圖片描述 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 格尔木市| 台北县| 三明市| 桐城市| 鄢陵县| 陆良县| 吴川市| 兴和县| 扶风县| 舟山市| 利川市| 额尔古纳市| 永吉县| 沙洋县| 维西| 托克逊县| 连云港市| 大渡口区| 土默特右旗| 大同县| 平南县| 铁力市| 教育| 慈溪市| 开江县| 敖汉旗| 漯河市| 治县。| 西乡县| 潞城市| 保山市| 清河县| 阳城县| 高安市| 黄浦区| 行唐县| 安徽省| 钦州市| 随州市| 改则县| 吴桥县|