Android:设计一个具有3个选项的菜单程序,单击每个选项时分别跳转到3个不同的页面。

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页面
        star
Androidstudio的2024.1.2版本编程实现“日记本”,项目名称为diary03。主要功能:登录、注册功能,登录页面有记住密码选项;日记的增删改查等功能;要求能显示每一个日记的记录间、记录内容;在日记本中添加图片能调用摄像头拍照和从相册选择图片。 功能可自由扩充,页面美观,有良好的交互性;实现日记的创建、编辑、删除与查询等核心功能,输入密码隐藏密码;使用SQLite数据库进行本地数据持久化存储;当前登录的用户信息储存在Sharedpreferences轻型数据类中,按钮实现页面跳转;项目整体色调为清新简约的淡蓝色。 要求:1、包含三张具有核心功能的表,有主键和其他字段约束;2、xml文件布局层次清晰,有样式的应用效果,使用较丰富且常见简单的控件;3、在控件上尽可能多的定义事件,比如列表上的单击事件,下拉列表的选择事件,菜单上的按钮事件等;4、正确利用activity生命周期的方法和组件间通信机制,完成页面跳转和数据的传递,客户端app能正确传参,能根据参数实现activity所需功能。 注意:1、整个项目都使用常见且简单的方法,不要太复杂,完成功能达到要求即可,不使用lambda函数。2、展示完整的项目结构和完整而详细的代码文件以及项目运行指南,并详细展示每个文件的全部内容(包括java-com.example.diary03下的Java文件和layout文件夹、values文件夹下的文件),按照实现逻辑,拆分代码的核心模块,每个模块进行逐一解释,尽量通过比喻、类比等表达方式,帮助我理解代码中的抽象概念或复杂逻辑。
06-07
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值