Android三页面跳转代码
首先打开安卓的ADT软件
创建一个项目(步骤如下图所示)
并取名为Day08(首字母要大写,遵循代码规范)

打开我们创建的Day08 找到res-layoutbing并打开activity_main.xml文件(如下图所示)

打开之后下方会出现两个小按钮(左边的按钮为我们的代码视图,右边的为我们的编辑视图代码的区域)

下面开始正式进行我们的代码编辑
一.
1.在 activity_main.xml编辑我们 第一个页面,代码如下
(第一个页面类似于微信的初始进入页面)
插入图片代码:android:background="@drawable/引入照片的名字"(操作流程如下)

在桌面上找到你需要插入的照片并把照片名改成英文(必须),在项目中找到res文件打开,找到第一个文件夹drawable-hdpi,讲照片直接拉进去点击OK

2.找到与activity_main.xml文件对应的Java代码并对这个页面进行定义
代码如下:

2.1定义要求:在此界面停留三秒跳转到下一个界面
对onCreate方法进行重写
1.new一个Thread类
2.定义一个子线程,并在run方法里面将报红的
Thread.sleep(3000);转化成 try catch形式
3. 开启新的activity页面
4.启动这个子线程
package com.example.day08;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.support.v4.app.ShareCompat.IntentBuilder;
import android.view.Menu;
import android.view.WindowManager;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 1.隐藏状态栏// getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// 2.隱藏标题栏getActionBar().hide();setContentView(R.layout.activity_main);// 1.定义一个子线程Thread t = new Thread(new Runnable() {public void run() {// 1.休眠3stry {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}// 开启新的activity页面Intent it = new Intent(getApplicationContext(),LoginActivity.class);startActivity(it);}});// 2.启动这个子线程t.start();}
}
为了使视图更加美观可以使用这两个代码:
隐藏状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
隱藏标题栏
getActionBar().hide();
二.
现在新建一个Android文件并对页面进行编辑
第二个页面为Android页面
1.通过 线性布局
单选按钮
代码释意:
宽高必须的代码 : android:layout_width="" android:layout_height=""
android:orientation="vertical"(在线性布局中默认为垂直排布)
android:gravity="center"(居中 可以对比加了与不加代码前后的效果)
android:gravity="center_vertical|right"(垂直居中靠右)
android:orientation="horizontal"(水平排列)
android:id="@+id/et_username"(对按钮进行id命名,方便后面进行Java的定义id的控件)
布局 对页面的宽进行等分,使页面更加美观(高同理)
在drawable-hdpi文件中新建xml用来美化 边框线,边框颜色,背景颜色


2.找到与activity_login.xml文件对应的Java代码并对这个页面进行定义
1.定义所有id的控件(先定义这些控件方便下面书写)
// 1.定义所有id的控件private EditText etUsername, etPwd;private RadioButton rbM, rbW;private CheckBox cb1, cb2, cb3, cb4;private Button btnCommit, btnCancle;Spinner spinner;String[] str = null;
2.找到所有的控件(得创建一个init的类,不然会报错)
3.设置点击事件
使用适配器来进行 页面和数据的绑定
在此代码中先用android.R.layout.simple_spinner_item Ctrl右键打开 粘贴
ArrayAdapter
getApplicationContext(), android.R.layout.simple_spinner_item, str);

再在layout文件里面新创建一个叫item的xml,并把刚才复制的内容粘贴引用一下并可以添加背景颜色和文本颜色

将代码中的android.R.layout.simple_spinner_item替换成自己创建的R.layout.item
ArrayAdapter
getApplicationContext(), R.layout.item, str);
使用findViewById来转换
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getActionBar().hide();setContentView(R.layout.activity_login);// 2.找到所有的控件init();// 添加下拉列表内容str = new String[] { "移动215", "移动000", "222" };// 使用适配器来进行 页面和数据的绑定ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), R.layout.item, str);spinner.setAdapter(adapter);// 3.设置点击事件btnCommit.setOnClickListener(this);}private void init() {etUsername = (EditText) findViewById(R.id.et_username);etPwd = (EditText) findViewById(R.id.et_pwd);rbM = (RadioButton) findViewById(R.id.rb_m);rbW = (RadioButton) findViewById(R.id.rb_w);cb1 = (CheckBox) findViewById(R.id.cb_1);cb2 = (CheckBox) findViewById(R.id.cb_2);cb3 = (CheckBox) findViewById(R.id.cb_3);cb4 = (CheckBox) findViewById(R.id.cb_4);btnCommit = (Button) findViewById(R.id.btn_commit);btnCancle = (Button) findViewById(R.id.btn_border);spinner = (Spinner) findViewById(R.id.sp_item);}
4.获取用户名输入框内容
5.获取密码输入框
6.获取性别输入框
7.获取爱好多选内容
@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub// 4.获取用户名输入框内容String userName = etUsername.getText().toString();// 5获取密码输入框String pwd = etPwd.getText().toString();// 6.获取性别输入框String sex = "";if (rbM.isChecked()) {sex = rbM.getText().toString();}if (rbW.isChecked()) {sex = rbW.getText().toString();}// 7.获取爱好多选内容String fav = "";if (cb1.isChecked()) {fav += cb1.getText().toString();}if (cb2.isChecked()) {fav += cb2.getText().toString();}if (cb3.isChecked()) {fav += cb3.getText().toString();}if (cb4.isChecked()) {fav += cb4.getText().toString();}
7.2 获取下来列表选中的内容
8.传值跳转
9.传递数据
// 7.2 获取下来列表选中的内容int i = spinner.getSelectedItemPosition();String spItem = str[i];// 吐司验证// Toast.makeText(getApplicationContext(), spItem, 1).show();// 8.传值跳转Intent it = new Intent(getApplicationContext(), SecondActivity.class);// 9.传递数据it.putExtra("a1", userName);it.putExtra("a2", pwd);it.putExtra("a3", sex);it.putExtra("a4", fav);it.putExtra("a5", spItem);startActivity(it);
代码总览
package com.example.day08;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;public class LoginActivity extends Activity implements OnClickListener {// 1.定义所有id的控件private EditText etUsername, etPwd;private RadioButton rbM, rbW;private CheckBox cb1, cb2, cb3, cb4;private Button btnCommit, btnCancle;Spinner spinner;String[] str = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getActionBar().hide();setContentView(R.layout.activity_login);// 2.找到所有的控件init();// 添加下拉列表内容str = new String[] { "移动215", "移动000", "222" };// 使用适配器来进行 页面和数据的绑定ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), R.layout.item, str);spinner.setAdapter(adapter);// 3.设置点击事件btnCommit.setOnClickListener(this);}private void init() {etUsername = (EditText) findViewById(R.id.et_username);etPwd = (EditText) findViewById(R.id.et_pwd);rbM = (RadioButton) findViewById(R.id.rb_m);rbW = (RadioButton) findViewById(R.id.rb_w);cb1 = (CheckBox) findViewById(R.id.cb_1);cb2 = (CheckBox) findViewById(R.id.cb_2);cb3 = (CheckBox) findViewById(R.id.cb_3);cb4 = (CheckBox) findViewById(R.id.cb_4);btnCommit = (Button) findViewById(R.id.btn_commit);btnCancle = (Button) findViewById(R.id.btn_border);spinner = (Spinner) findViewById(R.id.sp_item);}@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub// 4.获取用户名输入框内容String userName = etUsername.getText().toString();// 5获取密码输入框String pwd = etPwd.getText().toString();// 6.获取性别输入框String sex = "";if (rbM.isChecked()) {sex = rbM.getText().toString();}if (rbW.isChecked()) {sex = rbW.getText().toString();}// 7.获取爱好多选内容String fav = "";if (cb1.isChecked()) {fav += cb1.getText().toString();}if (cb2.isChecked()) {fav += cb2.getText().toString();}if (cb3.isChecked()) {fav += cb3.getText().toString();}if (cb4.isChecked()) {fav += cb4.getText().toString();}// 7.2 获取下来列表选中的内容int i = spinner.getSelectedItemPosition();String spItem = str[i];// 吐司验证// Toast.makeText(getApplicationContext(), spItem, 1).show();// 8.传值跳转Intent it = new Intent(getApplicationContext(), SecondActivity.class);// 9.传递数据it.putExtra("a1", userName);it.putExtra("a2", pwd);it.putExtra("a3", sex);it.putExtra("a4", fav);it.putExtra("a5", spItem);startActivity(it);}
}
三.
再次在src里面新创建一个Activity文件,获取上一个页面传过来的数据并显示
1.在src里面新创建的Activity文件会同步到layout里面的activity_新建名.xml进行编辑
改成线性布局,并在

2.新建的src中Java代码中进行编辑
1. 获取上一个页面传递过来的数据
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getActionBar().hide();setContentView(R.layout.activity_second);//1. 获取上一个页面传递过来的数据Intent it = getIntent();String userName = it.getStringExtra("a1");String pwd = it.getStringExtra("a2");String sex = it.getStringExtra("a3");String fav = it.getStringExtra("a4");String item = it.getStringExtra("a5");String str = userName + ":" + pwd + ":" + sex + ":" + fav+":"+item;
2. 显示这种数据(两种方法)
1:显示吐司
// 1:显示吐司Toast.makeText(getApplicationContext(), str, 1);
2:文本框显示
// 2:文本框显示TextView tvShow = (TextView) findViewById(R.id.tv_show);tvShow.setText(str);
代码总览
package com.example.day08;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;public class SecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getActionBar().hide();setContentView(R.layout.activity_second);//1. 获取上一个页面传递过来的数据Intent it = getIntent();String userName = it.getStringExtra("a1");String pwd = it.getStringExtra("a2");String sex = it.getStringExtra("a3");String fav = it.getStringExtra("a4");String item = it.getStringExtra("a5");String str = userName + ":" + pwd + ":" + sex + ":" + fav+":"+item;//2. 显示这种数据// 1:显示土司Toast.makeText(getApplicationContext(), str, 1);// 2:文本框显示TextView tvShow = (TextView) findViewById(R.id.tv_show);tvShow.setText(str);}}
三个页面跳转已完成,打开模拟机看看效果确认代码是否能运行!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
