日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 跳转页面出错,Android 页面跳转(无/含有返回结果)

發布時間:2023/12/10 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 跳转页面出错,Android 页面跳转(无/含有返回结果) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.兩個頁面的xml文件

factivity

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="直接跳轉" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="跳轉至改變textview" />

android:id="@+id/textView1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="回傳的數據顯示" />

sactivity

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="返回FA" />

二.在manifest中注冊Activity,為首先啟動的activity提供標注

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name=".Factivity"

android:label="@string/app_name" >

//首先啟動的activity的標注

android:name=".Sactivity"

android:label="@string/app_name" >

三.第一個種跳轉:無返回結果的跳轉

Factivity文件編寫

private Button bt1;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.factivity);

bt1 = (Button) findViewById(R.id.button1);

bt1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent(Factivity.this, Sactivity.class);

startActivity(intent);

}

此時在模擬器中測試,點擊“直接跳轉”可以轉致另一個頁面

四.第二個種跳轉:含有返回結果的跳轉

Factivity文件編寫

private Button bt2;

private TextView tv;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.factivity);

bt2 = (Button) findViewById(R.id.button2);

tv= (TextView) findViewById(R.id.textView1);

bt2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Intent intent = new Intent(Factivity.this, Sactivity.class);

startActivityForResult(intent, 1);

}

});

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

// TODO Auto-generated method stub

super.onActivityResult(requestCode, resultCode, data);

if(requestCode==1&&resultCode==2){

String content = data.getStringExtra("data");

tv.setText(content);

}

}

Sactivity文件編寫

private Button bt;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.sactivity);

bt= (Button) findViewById(R.id.button);

bt.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Intent data= new Intent();

data.putExtra("data","hello");

setResult(2,data);

finish();

}

});

}

此時點擊“跳轉至改變textview”可跳轉至另一頁面,點擊另一頁面的按鈕返回原頁面,可見textview已經被修改為“hello”

五.代碼的具體理解

Intent intent = new Intent(Factivity.this, Sactivity.class);

startActivity(intent);

可以認為intent是startActivity的一個指引,表達從什么地方(Factivity.this)到什么地方(Sactivity.class)

Intent intent = new Intent(Factivity.this, Sactivity.class);

startActivityForResult(intent, 1);

startActivityForResult中的intent同理,“1”代表了從Factivity到Sactivity的申請代號

Intent data= new Intent();

data.putExtra("data","hello");

setResult(2,data);

finish();

intent不再代表跳轉,而是作為信使攜帶返回參數的代號“data”和具體參數“hello”

setResult()方法中的2是從Sactivity到Factivity的結果代號

if(requestCode==1&&resultCode==2){

String content = data.getStringExtra("data");

tv.setText(content);}

在驗證申請代號和結果代號之后,初始化一個String通過intent的getStringExtra方法用返回參數的代號“data”得到返回的具體參數

總結

以上是生活随笔為你收集整理的android 跳转页面出错,Android 页面跳转(无/含有返回结果)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。