1.界面设计

2.原理

先设计一个选项菜单,再使用Intent组件进行页面的切换,结合Bundle类在Activity页面之间传递数据。

3.源码

(1)MainActivity.java
package com.example.tanjy.ex3_3;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.content.Intent;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;public class MainActivity extends AppCompatActivity {    TextView txt;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        txt=(TextView)findViewById(R.id.text1);    }    //初始化菜单    @Override    public boolean onCreateOptionsMenu(Menu menu) {        super.onCreateOptionsMenu(menu);        //添加菜单项,组号,id,排序号,标题        menu.add(1,1,1,"菜单项1");        menu.add(1,2,2,"菜单项2");        menu.add(1,3,3,"菜单项3");        return true;    }   //监听菜单项    public boolean onOptionsItemSelected(MenuItem item) {        switch (item.getItemId()){            //响应每个菜单项(通过菜单的id)            case 1:                jump2(item.getTitle().toString());                break;            case 2:                jump3(item.getTitle().toString());                break;            case 3:                jump4(item.getTitle().toString());                break;            default:                //对于没有处理的事件交给父类来处理                return super.onOptionsItemSelected(item);        }        return true;    }    public void jump2(String t){        //创建Intent对象并指定切换页面        Intent intent=new Intent();        intent.setClass(MainActivity.this,secondActivity.class);        //创建Bundle对象,存放“键-值”对数据        Bundle bundle=new Bundle();        bundle.putString("text",t);        //将Bundle对象传递给Intent        intent.putExtras(bundle);        //启动另一个Activity页面        startActivity(intent);    }    public void jump3(String t){        //创建Intent对象并指定切换页面        Intent intent2=new Intent();        intent2.setClass(MainActivity.this,thirdActivity.class);        //创建Bundle对象,存放“键-值”对数据        Bundle bundle=new Bundle();        bundle.putString("text",t);        //将Bundle对象传递给Intent        intent2.putExtras(bundle);        //启动另一个Activity页面        startActivity(intent2);    }    public void jump4(String t){        //创建Intent对象并指定切换页面        Intent intent=new Intent();        intent.setClass(MainActivity.this,fourthActivity.class);        //创建Bundle对象,存放“键-值”对数据        Bundle bundle=new Bundle();        bundle.putString("text",t);        //将Bundle对象传递给Intent        intent.putExtras(bundle);        //启动另一个Activity页面        startActivity(intent);    }}
(2)activity_main.xml
<?xml version="1.0" encoding="utf-8"?>    

(3)secondActivity.java

package com.example.tanjy.ex3_3;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.content.Intent;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;import android.widget.Button;public class secondActivity extends AppCompatActivity {    Button btn2;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.second);  //启动布局文件second.xml        TextView txt2=(TextView)findViewById(R.id.text2);        Bundle bundle=this.getIntent().getExtras();  //取得Intent中的Bundle对象        String str=bundle.getString("text");  //获取Bundle对象中的数据        txt2.setText(str);        btn2=(Button)findViewById(R.id.btn2);        btn2.setOnClickListener(new btnclock());    }    //定义返回前一页面的监听接口事件    class btnclock implements OnClickListener {        public void onClick(View v) {            Intent intent2=new Intent();            intent2.setClass(secondActivity.this,MainActivity.class);            startActivityForResult(intent2,0);  //返回前一页        }    }}

(4)second.xml

<?xml version="1.0" encoding="utf-8"?>            

(5)thirdActivity.java

package com.example.tanjy.ex3_3;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.content.Intent;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;import android.widget.Button;public class thirdActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.third);  //启动布局文件second.xml        TextView txt3=(TextView)findViewById(R.id.text3);        Bundle bundle=this.getIntent().getExtras();  //取得Intent中的Bundle对象        String str=bundle.getString("text");  //获取Bundle对象中的数据        txt3.setText(str);        Button btn3=(Button)findViewById(R.id.btn3);        btn3.setOnClickListener(new btnclock3());    }    //定义返回前一页面的监听接口事件    class btnclock3 implements OnClickListener {        public void onClick(View v) {            Intent intent3=new Intent();            intent3.setClass(thirdActivity.this,MainActivity.class);            startActivityForResult(intent3,0);  //返回前一页        }    }}

(6)third.xml

<?xml version="1.0" encoding="utf-8"?>            

(7)fourthActivity.java

package com.example.tanjy.ex3_3;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.content.Intent;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;import android.widget.Button;public class fourthActivity extends AppCompatActivity {    Button btn4;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.fourth);  //启动布局文件second.xml        TextView txt4=(TextView)findViewById(R.id.text4);        Bundle bundle=this.getIntent().getExtras();  //取得Intent中的Bundle对象        String str=bundle.getString("text");  //获取Bundle对象中的数据        txt4.setText(str);        btn4=(Button)findViewById(R.id.btn4);        btn4.setOnClickListener(new btnclock4());    }    //定义返回前一页面的监听接口事件    class btnclock4 implements OnClickListener {        public void onClick(View v) {            Intent intent4=new Intent();            intent4.setClass(fourthActivity.this,MainActivity.class);            startActivityForResult(intent4,0);  //返回前一页        }    }}

(8)fourth.xml

<?xml version="1.0" encoding="utf-8"?>            

(9)strings.xml

    ex3_3    选项菜单    这是第1个页面    返回    这是第2个页面    这是第3个页面

(10)修改AndroidMainfext.xml配置文件,添加跳转关联,注册xin

                                                

修改targetSdkVersion用于显示菜单

4.运行结果截图

分别按菜单项1,菜单项2,菜单项3

 

更多相关文章

  1. Binder学习笔记(十二)—— binder_transaction(...)都干了什么?
  2. Android(安卓)USB使用
  3. Android(安卓)调用系统拍照 笔记 - 会说话的哑巴的个人页面 - 开
  4. Android之 Viewpager
  5. Android布局管理器-使用TableLayout表格布局管理器实现简单的用
  6. Android(安卓)如何快速定位当前页面是哪个Activity or Fragment
  7. Android(安卓)Notification详解
  8. (转载)Android(安卓)之最新最全的Intent传递数据方法
  9. 基于AndroidStudio开发的简单登陆页面制作

随机推荐

  1. 如何在不制作正确的浮动包装的情况下填充
  2. 为什么我不用Javascript和Javascript HTM
  3. JS动态生成Table
  4. 如何在窗体上布局文本和输入以适应特定的
  5. 有没有办法强制Chrome在OSX上以演示模式
  6. 关于解析html并使用shell提取数据
  7. 填充HTML表格列,两个边框?
  8. 如何使用CSS消除元素的偏移?
  9. HTML基础 img标签alt属性 当图片加载失败
  10. 解决html代码中插入的图片在浏览器中不显