Android 实现页面跳转
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 实现页面跳转,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
Android中Service实时向Activity传递数据实例分析
这篇文章主要介绍了Android中Service实时向Activity传递数据的方法,实例分析了Service组件基于线程操作实现数值实时传递的相关技巧,需要的朋友可以参考下2015-09-09
最新评论