首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android /通过意图发送活动上下文

Android /通过意图发送活动上下文
EN

Stack Overflow用户
提问于 2019-09-24 10:11:37
回答 2查看 313关注 0票数 0

我在Android中有5个左右的活动(下面显示了其中的2个),它们共享一个公共的导航抽屉。如果我从导航抽屉登录到某个帐户,则在成功登录后,需要加载之前显示的活动。是否可以通过intent发送活动上下文?

FirstActivity.java

代码语言:javascript
运行
AI代码解释
复制
Intent intent1 = new Intent(FirstActivity.this, Login.class);
intent1.putExtra("activity", "FirstActivity");
startActivity(intent1);
finish();

SecondActivity.java

代码语言:javascript
运行
AI代码解释
复制
Intent intent2 = new Intent(SecondActivity.this, Login.class);
intent2.putExtra("activity", "SecondActivity");
startActivity(intent2);
finish();

在登录活动中找到要返回的活动名称时,登录成功后返回。

Login.java

代码语言:javascript
运行
AI代码解释
复制
Intent intent3 = getIntent();
String activity = intent3.getStringExtra("activity");
...
Intent intent4 = new Intent(Login.this, Class.forName(activity));
startActivity(intent4);
finish();

返回以下错误消息:

代码语言:javascript
运行
AI代码解释
复制
W/System.err: java.lang.ClassNotFoundException: Home
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:453)

有谁知道怎么修理它吗?

使用intent1.putExtra("activity", String.valueOf(FirstActivity.this));也是行不通的,它说com.example.nativeapp.FirstActivity@6a7640是一个无效的类名。

当我试图通过intent发送这些变量值时,我应该将活动上下文转换为Serializable或Parcelable甚至CharSequence吗?Activity或AppCompatActivity似乎没有继承Serializable或Parcelable来解决这个问题。CharSequence似乎与使用字符串没有太大区别。

我知道我可以创建自己的类来存储全局变量和活动上下文,我的活动可以继承它,但是因为我的活动已经继承了NavigationDrawer,所以我的活动不能继承第二个类。我是否可以将其声明为一个接口并继承一个接口以从接口访问全局变量值?Getter和setter方法肯定不能在接口中工作,因为接口中不允许实现函数和声明变量值。

当我试图从一个活动移动到另一个活动时,我一直在考虑使用中央超类来存储变量值并从子类中更改它们,其中一个原因是像这样的活动上下文,我不确定如何通过意图传递它们。这种意图也应该能够在移动应用程序的其他中央全局变量中从一个活动类传递到另一个活动类。中央超类,比如NavigationDrawer,它是一个很好的候选者,因为我所有的Android活动类都是从它继承而来的,如果所有的中央全局变量都存储在它里面,并且当我试图从一个活动移动到另一个活动时,它们从子类中改变,那么最好使用它。

我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2019-09-24 10:20:11

您正在尝试记住上一个活动,然后开始下一个特定的活动。这是做这件事的方法

改变这一点

代码语言:javascript
运行
AI代码解释
复制
Intent intent = new Intent(Login.this, Class.forName(activity));
startActivity(intent);
finish();

对这个-

代码语言:javascript
运行
AI代码解释
复制
  Intent intent = getIntent();
    String lastActivity = intent.getStringExtra("activity"); // lastActivity
    if (lastActivity.equalsIgnoreCase("FirstActivity")) {
        Intent intent = new Intent(Login.this, FirstActivity.class);
        startActivity(intent);
        finish();
    } else if (lastActivity.equalsIgnoreCase("SecondActivity")) {
        Intent intent = new Intent(Login.this, SecondActivity.class);
        startActivity(intent);
        finish();
    }

创建通用方法来优化您的代码

票数 1
EN

Stack Overflow用户

发布于 2019-09-25 11:46:53

您需要提供完全限定的类名。您需要传递"my.fully.qualified.class.name.FirstActivity"而不是"FirstActivity",您可以在其中提供完全限定的类名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58077955

复制
相关文章
AWS负载均衡器侦听转发规则配置
在VPC架构实现高可用的情况下,通过elb负载均衡器针对不同目标组的不同应用设定转发规则,从而实现利用负载均衡器的A记录+端口/配置的PATH路径访问到相应目标组的主机应用上。
Weiyang
2020/04/20
1.9K0
AWS负载均衡器侦听转发规则配置
配置Azure负载均衡器对Web应用程序进行负载均衡(一)
前面的文章中给大家介绍了Azure负载均衡器的一些基本概念及其使用场景。今天的文章会带大家来实际配置一下Azure负载均衡器。本地实验会按照如下架构图进行:
李珣
2022/05/07
3660
配置Azure负载均衡器对Web应用程序进行负载均衡(一)
配置Azure负载均衡器对Web应用程序进行负载均衡(二)
点击“创建资源”—“计算”—“Windows Server 2016 Datacenter”:
李珣
2022/05/07
6710
配置Azure负载均衡器对Web应用程序进行负载均衡(二)
负载均衡器的作用是什么?负载均衡器的部署方式有哪些?
大家平时生活中是经常需要访问互联网的,无论是休闲娱乐还是查资料往往都要用到网络,网络中用户们访问的过程中是需要通过各种服务器的,很多时候访问互联网的用户们会遇到卡顿的情况,这种情况就有可能是服务器过载了,仅有的服务器组支持不了大量用户们的访问,在现有的网络基础上面现在很多公司还会使用负载均衡技术,那么负载均衡原理是什么?负载均衡技术是如何实现的?
用户8715145
2021/10/18
1.4K0
手把手 | 关于商业部署机器学习,这有一篇详尽指南
有关深度学习或机器学习方面的文章层出不穷,涵盖了数据收集,数据整理,网络/算法选择,训练,验证和评估等主题。
大数据文摘
2018/07/31
7210
手把手 | 关于商业部署机器学习,这有一篇详尽指南
[Linux]F5负载均衡器
F5配置最简单负载均衡,需要配置的参数有Node(节点)、Pool(资源池)、和Virtual Server(虚拟服务器),它们的关系是,先配置Node,然后配置VS。Node是最基本的定义,如每个服务器就是一个Node,负载均衡Pool是一组Node接收和处理流量的一组设备,如web服务器集群。BIGIP系统将客户机流量请求发送到Pool成员中的任一服务器上(Node),然后将Pool与BIGIP系统中的Virtual server相关联,最后,BIGIP系统将进入Virtual Server中流量传输到Pool成员,Pool再传达给Node。
唯一Chat
2019/09/10
2.1K0
[Linux]F5负载均衡器
AWS alb 了解
Elastic Load Balancing 在一个或多个可用区中的多个目标(如 EC2 实例、容器和 IP 地址)之间自动分配传入的流量。它会监控已注册目标的运行状况,并仅将流量传输到运行状况良好的目标。Elastic Load Balancing 根据传入流量随时间的变化对负载均衡器进行扩展。它可以自动扩展来处理绝大部分工作负载。
heidsoft
2022/01/17
2.3K0
AWS alb 了解
[享学Netflix] 五十七、Ribbon负载均衡器ILoadBalancer(二):ZoneAwareLoadBalancer具备区域意识、动态服务列表的负载均衡器
上文介绍了负载均衡器ILoadBalancer的基本内容,并且详述了基本实现:BaseLoadBalancer。它实现了作为ILoadBalancer负载均衡器的基本功能,比如:服务列表维护、服务定时探活、负载均衡选择Server等。
YourBatman
2020/03/24
3.6K0
金三银四加薪季,性能测试面试题了解一波
Hi,大家好,今天依然是金三银四面试系列,如果你想了解之前的面试相关文章可以在文末点击👉「阅读原文」查看更多或者点击以下👇「蓝色字」查看最近文章。 金三银四跳槽季,自动化面试题预热一波 金三银四求职季,接口自动化面试题助攻一波 金三银四季招聘季,APP测试面试题温新一遍 以下分享性能测试相关面试题,欢迎在文末留言补充评论✍️。 一 解释常用的性能指标名称与具体含义 性能测试是通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。验证软件系统是否能够达到用户提出的性能指标,发现系统中
可可的测试小栈
2021/03/15
5590
金三银四加薪季,性能测试面试题了解一波
性能测试是通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。验证软件系统是否能够达到用户提出的性能指标,发现系统中存在的性能瓶颈并加以优化。
可可的测试小栈
2021/03/16
5050
Spring Cloud中负载均衡器概览
在上篇文章中(RestTemplate的逆袭之路,从发送请求到负载均衡)我们完整的分析了RestTemplate的工作过程,在分析的过程中,我们遇到过一个ILoadBalancer接口,这个接口中有一
江南一点雨
2018/04/02
9910
Spring Cloud中负载均衡器概览
漫画:通俗易懂负载均衡器
你可能已经多次听说过Load Balancer(此负载均衡器)。负载均衡基本上意味着在多个服务器之间分配网络流量,这样可以确保没有任何一台服务器自己承担所有负载。当网络流量平衡时,应用程序就可以平稳运行。
五月君
2021/01/13
8730
漫画:通俗易懂负载均衡器
HAProxy负载均衡器用法详解
上一篇我们介绍了四层的负载均衡器LVS, 这次我们我们介绍另外一种负载均衡器HAProxy。
小土豆Yuki
2020/06/15
13.9K0
DNS负载均衡与负载均衡器两种方案的选择[通俗易懂]
  web应用服务器集群系统,是由一群同时运行同一个web应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样。为了均衡集群服务器的负载,达到优化系统性能的目的,集群服务器将众多的访问请求,分散到系统中的不同节点进行处理。从而实现了更高的有效性和稳定性,而这也正是基于Web的企业应用所必须具备的特性。   高可靠性可以看作为系统的一种冗余设定。对于一个特定的请求,如果所申请的服务器不能进行处理的话,那么其他的服务器能不能对之进行有效的处理呢?对于一个高效的系统,如果一个Web服务器失败的话,其他的服务器可以马上取代它的位置,对所申请的请求进行处理,而且这一过程对用户来说,要尽可能的透明,使用户察觉不到!   稳定性决定了应用程序能否支持不断增长的用户请求数量,它是应用程序自身的一种能力。稳定性是影响系统性能的众多因素的一种有效的测量手段,包括机群系统所能支持的同时访问系统的最大用户数目以及处理一个请求所需要的时间。   在现有众多的均衡服务器负载的方法中,广泛研究并使用的是以下两个方法:   DNS负载平衡的方法RR-DNS(Round-Robin Domain Name System)   负载均衡器
全栈程序员站长
2022/09/14
1.3K0
Ribbon 负载均衡器 LoadBalancer 源码解析
什么是负载均衡?简单来说一个应用,后台有多个服务来支撑,即利用多台服务器提供单一服务,当某个服务挂了或者负载过高的时候,负载均衡器能够选择其他的服务来处理请求,用来提高应用的高可用性和高并发行;此外,当用户请求过来的时候,负载均衡器会将请求后台内网服务器,内网服务器将请求的响应返回给负载平衡器,负载平衡器再将响应发送到用户,这样可以阻止了用户直接访问后台服务器,使得服务器更加安全。
Java技术编程
2020/05/21
2.1K0
1.1 自定义负载均衡器
我们现在有两个服务, 一个getway服务, 另一个是order服务. 使用的是nacos管理配置文件和服务注册中心
用户7798898
2020/09/27
1.1K0
1.1 自定义负载均衡器
集群部署看过来,低代码@AWS智能集群的架构与搭建方案
为了帮助充分利用AWS的托管服务快速构建起一套集群环境,彻底去掉“单一故障点”,实现最高的可用性,我们准备了《低代码智能集群@AWS的架构与搭建方案》看完本文,带你掌握“基于nginx配置服务器集群”。
葡萄城控件
2022/12/02
1.7K0
点击加载更多

相似问题

与amazon负载均衡器的最大并发连接

11

AWS应用程序负载均衡器是否处理反向代理?

249

采用经典负载均衡器的AWS应用程序负载均衡器

03

如何在Jmeter中找出服务器每秒可处理的最大并发请求数

230

增加特殊wcf服务上的最大并发处理请求数

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文