首页 > 系统 > Android > 正文

Android 实现页面跳转

2019-12-12 02:04:25
字体:
来源:转载
供稿:网友

android使用Intent来实现页面跳转,Intent通过startActivity(Intent intent)或startActivityForResult(Intent intent,int resquestCode)方法来启动Activity,在新建Intent对象时来指定从A页面跳到B页面,

比如:

Intent i = new Intent(A.this,B.class);这就表示从A页面跳到B页面, 

Intent对象通过调用putExtra方法来传递页面跳转时所需要传递的信息

比如:

putExtra(“给需要传递的信息命名”,需要传递的信息的内容)

Intent通过调用getStringExtra方法来接受传递过来的信息

getStringExtra(“传递过来的信息的名字”);

下面的代码将实现用户输入完信息之后点击登入按钮,页面将跳转到另一页面显示个人信息,然后在这个页面有一个返回按钮,点击返回按钮,页面将返回登入页面再次显示个人信息。

MainActivity.java

package com.example.hsy.register;import android.content.Intent;import android.support.annotation.IdRes;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.Button;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.EditText;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Spinner;import android.widget.TextView;public class MainActivity extends AppCompatActivity {  EditText etName,etPwd;  Button btnLogin;  TextView tvShow;  RadioGroup rg;  RadioButton rbMale,rbFelMale;  CheckBox checkbox1,checkbox2,checkbox3;  Spinner spcity;  String sex="";  String hobby1="",hobby2="",hobby3="";  String result="";  String city="";  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.test);    init();    rglistener();    btnloginlistener();    box1listener();    box2listener();    box3listener();    splistener();  }  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    tvShow.setText("返回结果是:"+"/n"+data.getStringExtra("result1").toString()+        "/n");  }  private void splistener() {    spcity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {      @Override      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {        city=(String) spcity.getSelectedItem();      }      @Override      public void onNothingSelected(AdapterView<?> parent) {      }    });  }  private void box3listener() {    checkbox3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {      @Override      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        if(isChecked){          hobby3="看书";        } else {          hobby3="";        }      }    });  }  private void box2listener() {    checkbox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {      @Override      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        if(isChecked){          hobby2="游泳";        } else {          hobby2="";        }      }    });  }  private void box1listener() {    checkbox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {      @Override      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        if(isChecked){          hobby1="唱歌";        } else {          hobby1="";        }      }    });  }  private void btnloginlistener() {    btnLogin.setOnClickListener(new View.OnClickListener(){      @Override      public void onClick(View v){        result="用户名是:"+etName.getText().toString()+"/n"+"密码是:"+            etPwd.getText().toString()+"/n"+"性别是:"+sex+"/n"+"爱好是:"+hobby1+" "            +hobby2+" "+hobby3+" "+        "/n"+"所在城市:"+city;        //tvShow.setText(result);        Intent i = new Intent(MainActivity.this,Main2Activity.class);        i.putExtra("data1",result);        startActivityForResult(i,0);      }    });  }  private void rglistener() {    rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){      @Override      public void onCheckedChanged(RadioGroup group, @IdRes int checkedId){        if(checkedId== R.id.rbMale)          sex="男生";        else          sex="女生";      }    });  }  private void init() {    etName=(EditText) findViewById(R.id.etName);    etPwd=(EditText) findViewById(R.id.etPwd);    btnLogin=(Button) findViewById(R.id.btnLogin);    tvShow=(TextView) findViewById(R.id.tvShow);    rg=(RadioGroup) findViewById(R.id.rg);    rbMale=(RadioButton) findViewById(R.id.rbMale);    rbFelMale=(RadioButton) findViewById(R.id.rbFeMale);    checkbox1=(CheckBox) findViewById(R.id.checkbox1);    checkbox2=(CheckBox) findViewById(R.id.checkbox2);    checkbox3=(CheckBox) findViewById(R.id.checkbox3);    spcity=(Spinner) findViewById(R.id.Spcity);  }}

MainActivity2.java

package com.example.hsy.register;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class Main2Activity extends AppCompatActivity {  TextView tvShow;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main2);    tvShow=(TextView)findViewById(R.id.tvShow);    Intent intent = getIntent();    tvShow.setText(intent.getStringExtra("data1").toString());    findViewById(R.id.btnBack).setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        Intent intent1=new Intent(Main2Activity.this,MainActivity.class);        intent1.putExtra("result1",tvShow.getText().toString());        setResult(1,intent1);        finish();      }    });  }}

test.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical" android:layout_width="match_parent"  android:layout_height="match_parent">  <LinearLayout    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:orientation="horizontal">    <TextView      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:text="用户名:"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:textSize="20dp"      android:textColor="@color/colorPrimaryDark"/>    <EditText      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:hint="输入2-10个字符"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:layout_weight="1"      android:id="@+id/etName"/>  </LinearLayout>  <LinearLayout    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:orientation="horizontal">    <TextView      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:text="密  码:"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:textSize="20dp"      android:textColor="@color/colorPrimaryDark"/>    <EditText      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:hint="输入6-10个字符"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:layout_weight="1"      android:id="@+id/etPwd"/>  </LinearLayout>  <LinearLayout    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:orientation="horizontal">    <TextView      android:layout_width="match_parent"      android:layout_height="wrap_content"      android:text="选择性别:"      android:layout_marginTop="10dp"      android:layout_marginLeft="10dp"      android:textSize="20dp"      android:textColor="@color/colorPrimary"      />    <RadioGroup      android:layout_width="match_parent"      android:layout_height="wrap_content"      android:orientation="horizontal"      android:id="@+id/rg">      <RadioButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="15dp"        android:layout_marginTop="10dp"        android:textColor="@color/colorAccent"        android:textSize="10dp"        android:text="男"        android:id="@+id/rbMale"/>      <RadioButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="15dp"        android:layout_marginTop="10dp"        android:textColor="@color/colorAccent"        android:textSize="10dp"        android:text="女"        android:id="@+id/rbFeMale"/>    </RadioGroup>  </LinearLayout>  <LinearLayout    android:layout_width="match_parent"    android:layout_height="wrap_content">    <TextView      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:textSize="20dp"      android:textColor="@color/colorAccent"      android:text="兴趣爱好:"/>    <CheckBox      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:textSize="15dp"      android:textColor="@color/colorAccent"      android:id="@+id/checkbox1"      android:text="唱歌"/>    <CheckBox      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:textSize="15dp"      android:textColor="@color/colorAccent"      android:id="@+id/checkbox2"      android:text="游泳"/>    <CheckBox      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_marginLeft="10dp"      android:layout_marginTop="10dp"      android:textSize="15dp"      android:textColor="@color/colorAccent"      android:id="@+id/checkbox3"      android:text="看书"/>  </LinearLayout>  <LinearLayout    android:layout_width="match_parent"    android:layout_height="wrap_content">    <TextView      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_marginLeft="5dp"      android:layout_marginTop="6dp"      android:textSize="15dp"      android:text="所在地"/>    <Spinner      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_marginTop="6dp"      android:layout_marginLeft="10dp"      android:entries="@array/citys"      android:id="@+id/Spcity">    </Spinner>  </LinearLayout>  <Button    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:text="登录"    android:layout_marginTop="10dp"    android:textSize="20dp"    android:id="@+id/btnLogin"/>  <TextView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_marginTop="20dp"    android:text="显示信息"    android:id="@+id/tvShow"/></LinearLayout>

activity_main2.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  tools:context="com.example.hsy.register.Main2Activity">  <TextView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_marginTop="10dp"    android:layout_marginLeft="10dp"    android:text="显示结果"    android:id="@+id/tvShow"/>  <Button    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_marginLeft="10dp"    android:layout_marginTop="10dp"    android:text="返回结果"    android:id="@+id/btnBack"/></LinearLayout>

总结

以上所述是小编给大家介绍的Android 实现页面跳转,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表