一、要求

1.背景页面

Android 跳转页面失败 android跳转页面代码_Text

 

2.停留三秒自动跳转第二页面

Android 跳转页面失败 android跳转页面代码_Android 跳转页面失败_02

 

3.填写信息完点击确定跳转第三页面

Android 跳转页面失败 android跳转页面代码_xml_03

 

二、代码演示

首先打开ADT程序

创建文件 如图:

命名Demo07

Android 跳转页面失败 android跳转页面代码_android_04

 

Android 跳转页面失败 android跳转页面代码_xml_05

在res-layout中打开activiy_main.xml

Android 跳转页面失败 android跳转页面代码_android_06

右下角两个文件,第一个 左边为图片视图,第二个 右边为对左边图片试图进行代码编辑

点击第二个,我们放入一个背景图片,插入<LinerLayout>线性布局,并定义属性

具体代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_launcher"
    tools:context=".MainActivity" >

</LinearLayout>

此代码演示 用背景图片将线性布局填充完整,要求隐藏状态栏和标题并停止页面三秒

打开src对包com.exeample.day01中的Java文件MainActivity进行编辑

定义类MainActivity继承其父类Activity
对方法onCreate方法进行重写

在界面停止三秒,运用到线程的知识,
首先new一个Thread类,
1.实现Runable接口,重写run方法
2.创建Runable子类对象
3.然后对界面进行跳转,Intent it = new Intent(表示当前文件,表示跳转的界面)
4.调用Thread()对象的start()方法启动线程

代码演示如下:

//开启一个线程(等3秒后自动执行)
        Thread t = new Thread(new Runnable() {
			
			@Override
			public void run() {
				//等待三秒
				try {
					Thread.sleep(3000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				//启动第二个页面
				Intent it = new Intent(getApplicationContext(),InfoActivity.class);
				startActivity(it);
			}
		});
        
        t.start();
    }

隐藏状态栏和标题的方法  代码如下:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);


getActionBar().hide();

注意代码放的位置 JDK小于11会报错

整合以上代码就完成了MainActivity.java的编辑

代码如下:

package com.example.demo07;

import android.app.Activity;
import android.content.Intent;

import android.os.Bundle;
import android.view.WindowManager;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //1:隐藏状态栏
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        
        //2:隐藏标题栏
        getActionBar().hide();
        
        setContentView(R.layout.activity_main);
        
        
        //开启一个线程(等3秒后自动执行)
        Thread t = new Thread(new Runnable() {
			
			@Override
			public void run() {
				//等待三秒
				try {
					Thread.sleep(3000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				//启动第二个页面
				Intent it = new Intent(getApplicationContext(),InfoActivity.class);
				startActivity(it);
			}
		});
        
        t.start();
    }
    
}

对第二个页面的Android页面进行编辑

在项目中新健Android的文件

Android 跳转页面失败 android跳转页面代码_Text_07

进行activiy_main.xml 的代码编辑,通过<LinearLayout><TextView><EditText><CheckBox><RadioButtn>等控件对安卓代码页面进行展示

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="55dp" >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#3b4141"
            android:gravity="center"
            android:text="用户注册"
            android:textColor="#ffffff"
            android:textSize="20dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center|right"
            android:text="账号:"
            android:textSize="15dp" />

        <EditText
            android:id="@+id/et_zh"
            android:layout_width="0dp"
            android:layout_height="35dp"
            android:layout_weight="3"
            android:background="@drawable/bk_border"
            android:hint="请输入QQ号/手机号" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center|right"
            android:text="密码:"
            android:textSize="15dp" />

        <EditText
            android:id="@+id/et_mm"
            android:layout_width="0dp"
            android:layout_height="35dp"
            android:layout_weight="3"
            android:background="@drawable/bk_border" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp" 
        
        >

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center|right"
            android:text="班级:"
            android:textSize="15dp" />

       <Spinner 
        android:id="@+id/sp_item"
        android:layout_width="0dp"
        android:layout_weight="3"
        android:layout_height="40dp"/>
       
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center|right"
            android:text="性别:"
            android:textSize="15dp" />

        <RadioGroup
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+id/rb_nan"
                android:layout_width="50dp"
                android:layout_height="40dp"
                android:text="男" />

            <RadioButton
                android:id="@+id/rb_nv"
                android:layout_width="50dp"
                android:layout_height="40dp"
                android:text="女" />
        </RadioGroup>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center|right"
            android:text="爱好:"
            android:textSize="15dp" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:orientation="vertical" >

            <CheckBox
                android:id="@+id/cb_sw"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="上网" />

            <CheckBox
                android:id="@+id/cb_lt"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="聊天" />

            <CheckBox
                android:id="@+id/cb_sj"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="睡觉" />

            <CheckBox
                android:id="@+id/cb_ks"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="看书" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center" >

        <Button
            android:id="@+id/btn_qd"
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:background="@drawable/an_border"
            android:text="确定" />

        <Button
            android:id="@+id/btn_qx"
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:background="@drawable/an_border"
            android:text="取消" />
    </LinearLayout>

</LinearLayout>

度安卓跳转到的第二个页面进行设置

InfoActivity也是继承自其父类Activity,所以跟上面方法一样也要对方法进行重写

我们在安卓第二页面中进行了id的编写  在此界面我们应该先定义这些控件

1.定义所有有id的控件

private CheckBox cbsw, cblt, cbsj, cbks;
	private Button btnqd, btnqx;
	private RadioButton rbnan, rbnv;
	private EditText etmm, etzh;
	private Spinner spitem;
	String[] st = null;

2.找到所有有id的控件

init();

private void init() {
		cbsw = (CheckBox) findViewById(R.id.cb_sw);
		cblt = (CheckBox) findViewById(R.id.cb_lt);
		cbsj = (CheckBox) findViewById(R.id.cb_sj);
		cbks = (CheckBox) findViewById(R.id.cb_ks);
		btnqd = (Button) findViewById(R.id.btn_qd);
		btnqx = (Button) findViewById(R.id.btn_qx);
		rbnan = (RadioButton) findViewById(R.id.rb_nan);
		rbnv = (RadioButton) findViewById(R.id.rb_nv);
		spitem = (Spinner) findViewById(R.id.sp_item);
		etmm = (EditText) findViewById(R.id.et_mm);
		etzh = (EditText) findViewById(R.id.et_zh);
	}

3.设置按钮的点击事件

btnqd.setOnClickListener(this);

对于下拉列表的的操作要另外进行,通过数组对其进行编辑内容数据,然后创建适配器及绑定适配器

代码如下:

st = new String[]{ "移动212", "移动213", "移动214", "移动215" };
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(
				getApplicationContext(), R.layout.item1, st);

		spitem.setAdapter(adapter);

最后对获取内容,及页面的跳转和应用可使用 putExtra(java.lang.String, java.lang.String) 方法传入参数 ,代码如下

public void onClick(View arg0) {
		// 4:获取用户名输入框内容
		String userName = etzh.getText().toString();

		// 5:获取密码输入框内容
		String pwd = etmm.getText().toString();
		
		//获取下拉列表选中的内容
				int i = spitem.getSelectedItemPosition();
				String spItem = st[i];
				Toast.makeText(getApplicationContext(), spItem, 1).show();

		// 6:获取性别单选输入框内容
		String sex = "";
		if (rbnan.isChecked()) {
			sex = rbnan.getText().toString();
		}
		if (rbnv.isChecked()) {
			sex = rbnv.getText().toString();
		}

		// 7:获取爱好多选输入框内容
		String fav = "";
		if (cbsw.isChecked()) {
			fav += cbsw.getText().toString();
		}
		if (cblt.isChecked()) {
			fav += cblt.getText().toString();
		}
		if (cbsj.isChecked()) {
			fav += cbsj.getText().toString();
		}
		if (cbks.isChecked()) {
			fav += cbks.getText().toString();
		}
		
		

		// 8:传值跳转
		Intent it = new Intent(getApplicationContext(), TestActivity.class);
		// 传递数据
		it.putExtra("a1", userName);
		it.putExtra("a2", pwd);
		it.putExtra("a3", spItem);
		it.putExtra("a4", sex);
		it.putExtra("a5", fav);
		startActivity(it);
	}

}

整合代码如下:

package com.example.demo07;

import com.example.demo07.InfoActivity;
import com.example.demo07.R;

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 InfoActivity extends Activity implements OnClickListener {
	// 1:定义所有有id的控件
	private CheckBox cbsw, cblt, cbsj, cbks;
	private Button btnqd, btnqx;
	private RadioButton rbnan, rbnv;
	private EditText etmm, etzh;
	private Spinner spitem;
	String[] st = null;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_info);
		// 2:找到所有有id的控件
		init();

		// 3:设置按钮的点击事件
		btnqd.setOnClickListener(this);

		st = new String[]{ "移动212", "移动213", "移动214", "移动215" };
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(
				getApplicationContext(), R.layout.item1, st);

		spitem.setAdapter(adapter);

	}

	private void init() {
		cbsw = (CheckBox) findViewById(R.id.cb_sw);
		cblt = (CheckBox) findViewById(R.id.cb_lt);
		cbsj = (CheckBox) findViewById(R.id.cb_sj);
		cbks = (CheckBox) findViewById(R.id.cb_ks);
		btnqd = (Button) findViewById(R.id.btn_qd);
		btnqx = (Button) findViewById(R.id.btn_qx);
		rbnan = (RadioButton) findViewById(R.id.rb_nan);
		rbnv = (RadioButton) findViewById(R.id.rb_nv);
		spitem = (Spinner) findViewById(R.id.sp_item);
		etmm = (EditText) findViewById(R.id.et_mm);
		etzh = (EditText) findViewById(R.id.et_zh);
	}

	@Override
	public void onClick(View arg0) {
		// 4:获取用户名输入框内容
		String userName = etzh.getText().toString();

		// 5:获取密码输入框内容
		String pwd = etmm.getText().toString();
		
		//获取下拉列表选中的内容
				int i = spitem.getSelectedItemPosition();
				String spItem = st[i];
				Toast.makeText(getApplicationContext(), spItem, 1).show();

		// 6:获取性别单选输入框内容
		String sex = "";
		if (rbnan.isChecked()) {
			sex = rbnan.getText().toString();
		}
		if (rbnv.isChecked()) {
			sex = rbnv.getText().toString();
		}

		// 7:获取爱好多选输入框内容
		String fav = "";
		if (cbsw.isChecked()) {
			fav += cbsw.getText().toString();
		}
		if (cblt.isChecked()) {
			fav += cblt.getText().toString();
		}
		if (cbsj.isChecked()) {
			fav += cbsj.getText().toString();
		}
		if (cbks.isChecked()) {
			fav += cbks.getText().toString();
		}
		
		

		// 8:传值跳转
		Intent it = new Intent(getApplicationContext(), TestActivity.class);
		// 传递数据
		it.putExtra("a1", userName);
		it.putExtra("a2", pwd);
		it.putExtra("a3", spItem);
		it.putExtra("a4", sex);
		it.putExtra("a5", fav);
		startActivity(it);
	}

}

再建一个文件,对最后跳转的页面进行代码编辑,通过控件对第三页面activiy_test.xml 进行代码编辑

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".TestActivity" >

    <TextView
        android:id="@+id/tv_show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</LinearLayout>

 再次进入scr中对进行显示的代码进行编辑,分别有吐司显示和文本显示

吐司显示

Toast.makeText(getApplicationContext(), st , 1).show();

文本显示

TextView tvshow = (TextView) findViewById(R.id.tv_show);
		tvshow.setText(st);

 获取上个页面内容显示数据内容

Intent it = getIntent();
		
		String userName = it.getStringExtra("a1");
		String pwd = it.getStringExtra("a2");
		String spItem = it.getStringExtra("a3");
		String sex = it.getStringExtra("a4");
		String fav = it.getStringExtra("a5");
		
		String st = userName + ":" + pwd + ":" + spItem+":" + sex + ":" + fav;

 具体代码如下:

package com.example.demo07;

import com.example.demo07.R;

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 TestActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_test);
	
	//获取上一个页面传递过来的数据
		Intent it = getIntent();
		
		String userName = it.getStringExtra("a1");
		String pwd = it.getStringExtra("a2");
		String spItem = it.getStringExtra("a3");
		String sex = it.getStringExtra("a4");
		String fav = it.getStringExtra("a5");
		
		String st = userName + ":" + pwd + ":" + spItem+":" + sex + ":" + fav;
		
	//显示这些数据
	//1:吐司显示
		Toast.makeText(getApplicationContext(), st , 1).show();
	
	//2:文本框显示
		TextView tvshow = (TextView) findViewById(R.id.tv_show);
		tvshow.setText(st);
	
	}
}

以上就是页面之间的跳转和显示操作的具体

 此代码运用到的几种具体方法

1.Toast.makeText(MainActivity.this, "提示的内容", Toast.LENGTH_LONG).show(); 第一个是上下文对象!对二个是显示的内容!第三个是显示的时间(0或1),只有LONG和SHORT两种 会生效,即时你定义了其他的值,最后调用的还是这两个!

2.通过findViewById(android.R.id.)就可以通过id值,利用方法findViewById(R.id.id值)来访问

3.通过线程运用sleep方法对程序进行暂停sleep();()中占用时间,单位为毫秒

4.intent.setClass(this, InfoActivity.class); 中InfoActivity.class 要跳转到的界面

5.Intent跳转操作中传值只需调用意图的putExtra函数intent.putExtra("name","chen");创建一个name属性,并传chen这个参数

6.子线程表示程序的执行流程,线程创建的主要方法有两种,继承Thread类,使用this关键字进行访问