9.鸿蒙app用户界面的跳转abilityslice的跳转

news2024/10/6 8:35:59

9.用户界面的跳转abilityslice的跳转,值传递,数值累加

首页页面显示1,第2页显示2,再次点击返回首页3。。。

MainAbilitySlice.java

关键代码:

点击事件

 text.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
               // present(new SecondAbilitySlice(),new Intent());
                Intent _intent = new Intent();
                _intent.setParam("count",count);
                presentForResult(new SecondAbilitySlice(),_intent,0x00101);
            }
        });
    }
    @Override
    protected void onResult(int requestCode,Intent resultIntent)
    {
        if(requestCode == 0x00101)
        {
            count=resultIntent.getIntParam("count",1);
            text.setText("t1:" + ++count);
        }
    }

MainAbilitySlice.java

package com.example.myapplication.slice;

import com.example.myapplication.ResourceTable;
import com.example.myapplication.slice.slice.SecondAbilitySlice;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.Component;
import ohos.agp.components.ComponentContainer;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.Text;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.TextAlignment;

public class MainAbilitySlice extends AbilitySlice {

    private  Text text;
    private int count =1;
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
       // super.setUIContent(ResourceTable.Layout_ability_main);
        ComponentContainer.LayoutConfig config = new ComponentContainer.LayoutConfig(
                ComponentContainer.LayoutConfig.MATCH_PARENT,
                ComponentContainer.LayoutConfig.MATCH_PARENT);
        DirectionalLayout layout= new DirectionalLayout(this);
        ShapeElement element = new ShapeElement();
        element.setRgbColor(new RgbColor(255,255,255));//白色
        layout.setBackground(element);
        layout.setLayoutConfig(config);
        //
       // Text text = new Text(this);
        text = new Text(this);
        text.setLayoutConfig(config);
        text.setTextAlignment(TextAlignment.CENTER);
        //text.setText("MainAbilitySlice");
        text.setText("t1:"+count);
        text.setTextSize(100);
        layout.addComponent(text);
        super.setUIContent(layout);
        text.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
               // present(new SecondAbilitySlice(),new Intent());
                Intent _intent = new Intent();
                _intent.setParam("count",count);
                presentForResult(new SecondAbilitySlice(),_intent,0x00101);
            }
        });
    }
    @Override
    protected void onResult(int requestCode,Intent resultIntent)
    {
        if(requestCode == 0x00101)
        {
            count=resultIntent.getIntParam("count",1);
            text.setText("t1:" + ++count);
        }
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

关键代码2:

点击事件

SecondAbilitySlice.java

 text.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                //present(new MainAbilitySlice(),new Intent());
                Intent resultintent = new Intent();
                resultintent.setParam("count",count);
                setResult(resultintent);
                terminate();
            }
        });

SecondAbilitySlice.java

package com.example.myapplication.slice.slice;

import com.example.myapplication.ResourceTable;
import com.example.myapplication.slice.MainAbilitySlice;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.Component;
import ohos.agp.components.ComponentContainer;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.Text;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.TextAlignment;

public class SecondAbilitySlice extends AbilitySlice {
    private  Text text;
    private  Text text2;
    private int count;
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        count =intent.getIntParam("count",1);
        count++;
       // super.setUIContent(ResourceTable.Layout_ability_main1);
        ComponentContainer.LayoutConfig config = new ComponentContainer.LayoutConfig(
                ComponentContainer.LayoutConfig.MATCH_PARENT,
                ComponentContainer.LayoutConfig.MATCH_CONTENT);
        DirectionalLayout layout= new DirectionalLayout(this);
        DirectionalLayout layout2= new DirectionalLayout(this);
        ShapeElement element = new ShapeElement();
        element.setRgbColor(new RgbColor(100,100,255));//浅蓝色
        layout.setBackground(element);
        layout.setLayoutConfig(config);

       // element.setRgbColor(new RgbColor(100,255,255));//
       // layout2.setBackground(element);

        //
         text = new Text(this);
         text2 = new Text(this);
        text.setLayoutConfig(config);
        text.setTextAlignment(TextAlignment.CENTER);
        text2.setLayoutConfig(config);
        text2.setTextAlignment(TextAlignment.CENTER);

       // text.setText("SecondAbilitySlice");
        text.setText(""+count);
        text2.setText("t2:"+count);
        text.setTextSize(100);
        text2.setTextSize(100);
        layout.addComponent(text);
        layout.addComponent(text2);
        super.setUIContent(layout);
      //  super.setUIContent(layout2);
        text.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                //present(new MainAbilitySlice(),new Intent());
                Intent resultintent = new Intent();
                resultintent.setParam("count",count);
                setResult(resultintent);
                terminate();
            }
        });
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1321765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[自动化运维工具]ansible简单介绍和常用模块

ansible 源操作主机功能 自动化运维(playbook剧本yaml) 是基于python开发的一个配置管理和应用部署工具,在自动化运维中,现在还是异军突起 ansible能批量配置,部署,管理上千台主机,类似于xshell…

安全生产隐患排查治理信息化系统软件

安全隐患排查系统实现对重大危险源企业、安全隐患信息的登记、整改、复查、分类和统计。系统涵盖了安全隐患排查整治工作的各项基本内容,实现以安全隐患排查整治业务流为主线,处理流程简洁清晰、快速灵活;以排查整治流程为干线,快…

5行Python实现验证码识别,太稳了

很久之前,分享过一次Python代码实现验证码识别的办法。 当时采用的是pillowpytesseract,优点是免费,较为易用。但其识别精度一般,若想要更高要求的验证码识别,初学者就只能去选择使用百度API接口了。 但其实百度API接…

Linux-----21、挂载

# 挂载命令 将硬件资源,或文件资源💿,和📂空目录🔗连接起来的过程 # mount linux 所有存储设备都必须挂载使用,包括硬盘 ​ 命令名称:mount ​ 命令所在路径:/bin/mount ​ 执行…

无懈可击的防泄密之旅:迅软DSE在民营银行的成功实践

客户简要介绍 某股份有限公司主体是中部地区的民营银行,由其母公司联合9家知名民营企业共同发起设立。正式开业于2016年,紧紧围绕目标产业生态圈和消费金融,着力打造产业银行、便捷银行、数字银行、财富管理银行为一体的BEST银行&#xff0c…

学习Java第74天,Ajax简介

什么是ajax AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页…

基于Java SSM框架实现二手车交易网站系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现二手车交易网站系统演示 摘要 二手车交易网站采用B/S模式,促进了二手车交易网站的安全、质量、快捷的发展。传统的管理模式还处于手工处理阶段,管理效率极低,随着用户的不断增多,传统基于手工管理模式已经无…

Redis7--基础篇9(SpringBoot集成Redis)

1. jedis、lettuce、Redistemplate的关系 第一代为jedis,之后推出了lettuce,然后springboot继承了Redistemplate,现推荐使用Redistemplate。 总的来说,jedis、lettuce、Redistemplate都是java操作Redis数据库的驱动。 2. 本地Ja…

MapReduce和Yarn部署+入门

看的黑马视频记的笔记 目录 1.入门知识点 分布式计算: 概念: 两种模式: MapReduce(分布式计算,分散汇总模式) 概念 执行原理 注: Yarn(分布式资源调度) 概述 Y…

探讨小鹏汽车CAN通讯协议分析破解过程数据研究技术应用

当前新能源电动汽车设计日益复杂,为提高舒适性、功能性、提升性能和确保更高的安全性,很多汽车的设计中融入了更复杂的功能。包括了雷达、激光雷达、自适应巡航、L2以上自动驾驶系统,高级驾驶辅助系统、盲区监测等等。安装在汽车上的传感器和…

代码魔法:递归嵌套的《迷宫之旅》算法解析

前言 在代码的舞台上,递归算法的奇迹就如同魔法一般令人叹为观止。本文以经典的迷宫问题为基础,通过递归嵌套的方式,带你踏上一场神奇的迷宫之旅。 迷宫规则 迷宫由一个二维数组表示,其中0表示可通行的路径,1表示墙…

泛型(泛型类、接口及方法)——学习推荐版,通俗易懂讲解

泛型定义及分类 1.泛型类 类型变量其实就是一个标识符&#xff0c;一般用大写字母表示&#xff0c;如K&#xff0c;T&#xff0c;E&#xff0c;V&#xff0c;当然也可以多个字母或数字的组合&#xff0c;只要满足标识符的定义规则就都可以。 形式1 若写成MyArrayList<> …

UE5 C++(六)— 枚举UENUM、结构体USTRUCT和补充属性说明符

文章目录 枚举&#xff08;ENUM&#xff09;第一种方式第二种方式 结构体&#xff08;USTRUCT&#xff09;补充属性说明符&#xff08;ExposeOnSoawn&#xff09;结构体创建数据表格 枚举&#xff08;ENUM&#xff09; 第一种方式 定义枚举 UENUM(BlueprintType) namespace …

Vue中英文翻译小结

背景&#xff1a;时局艰难&#xff0c;后端开发被强制写了vue&#xff0c;这不有个需求是中英文翻译&#xff0c;特此记录下&#xff0c;该怎么个翻译法子。 先引入全局的路由国际化文件&#xff0c;zh.js 和 en.js 1.关于插值表达Button里面 {{ $t(reinsop.common.back) }} …

制造业CRM选型注意事项:有这些功能的系统更好用

当前&#xff0c;推动制造业数字化转型已成时代发展趋势。为了适应这一趋势&#xff0c;制造业使用CRM管理系统是非常重要的。那么&#xff0c;制造业CRM应该怎么选&#xff1f; 1、全方位客户管理 订单价值大&#xff0c;交货周期长&#xff0c;客户开发难。。。这一直是制造…

MySQL job 定时任务

目录 介绍 优点&#xff1a; 缺点&#xff1a; 使用场景&#xff1a; 案例 创建表 -- 创建定时任务 每一分钟插入一条数据 执行结果 -- 查询定时任务 ENABLED--启用 DISABLED--禁用 -- 查询定时任务 -- 启用定时任务 ​-- 禁用定时任务 ​-- 删除定时任务 …

Unity | 渡鸦避难所-3 | 控制角色移动

1 移动刚体 在物理世界中&#xff0c;控制刚体移动通常有三种方式&#xff0c;每种方式产生的效果也不尽相同 AddForce&#xff1a;添加作用力&#xff0c;用于模拟真实的物理效果 MovePosition&#xff1a;设置位置&#xff0c;用于精确控制游戏对象的位置 velocity&#x…

opencv 入门一(显示一张图片)

头文件添加如下&#xff1a; 库目录添加如下&#xff1a; 依赖的库如下&#xff1a; #include <iostream> #include "opencv2/opencv.hpp" int main(int argc,char ** argv) { cv::Mat img cv::imread(argv[1], -1); if (img.empty()) return -1; …

1998-2022年最大NDVI数据集(1km)

本文的植被指数&#xff08;NDVI&#xff09;数据来源于美国NASA定期发布的MOD13A3植被指数数据集。MOD13A3提供自1998年4月起逐月1km的NDVI数据。原始数据来源详细的介绍见&#xff1a;https://doi.org/10.5067/MODIS/MOD13A3.006   月度NDVI数据为每月1-3旬NDVI数据数值的最…

第二证券:耐心等待指数企稳 关注数据要素等板块

其时或是布局商场的时间窗口。2024年美联储或打开降息周期&#xff0c;欧洲降息预期也在增强&#xff0c;全球流动性有望迎来拐点。中心经济工作提及2024年的职业及工业方向&#xff0c;政策有望落地施行&#xff0c;将会为职业配备带来较多的催化要素&#xff0c;是具备配备价…