我有一个带有几个屏幕的Android应用程序,如果出现错误情况,我想显示一条始终可见的消息,如果错误情况消失了,我想抑制此消息的显示。
“错误条件”是指设备无法将新信息传输到服务器,并且错误条件在成功传输后消失了。该消息必须清晰明了,因此无论最终用户在什么屏幕上,都无法否认是否存在该消息。
理想情况下,我正在寻找一个UI元素,当出现错误时可以将其放置,而在没有错误时将其移除,该UI元素将出现在所有屏幕上,并且在理想情况下可以由最终用户移动(因此最终用户可以决定该UI元素在屏幕上的位置),但不能取消显示(我不希望任何人禁止显示该消息并声称他或她没有看到该消息)。
我自然更愿意使用一个代码来创建此UI元素,并使它浮动在应用程序的所有屏幕前,但是如果绝对必要,我可以创建添加特殊错误条件UI元素的代码。显示在所有屏幕上。
有人对符合要求的UI元素有什么建议吗?
-----------------澄清-------------------
我建议(甚至实现一个原型)一些东西,当错误发生时会发出通知,并在错误解决后关闭烤面包机通知,但这被认为是不可接受的,因为它不会产生直到错误消失的永久警告条件解决了。有人告诉我问题是最终用户可能会撤消通知,然后继续工作却忘记了他或她撤消了通知,然后抱怨通知的后果(由于设备无法发送通知,他们的订单从未通过)到服务器)。
我还建议每次设备无法传输某些东西时都发出警告,但该解决方案也被认为是不可接受的,因为如果用户将设备带到没有互联网的某个地方,他或她将不得不继续关闭该通知,会很烦人,因此是不可接受的。通知必须是被动的(例如,不需要用户采取行动即可将其撤消)。
在互联网恢复运行之前,我不希望关闭设备-即使不将这些内容传输到服务器,该设备也可以继续将内容制成表格。我只想确保绝对不会有一个远程智能的人说他或她不知道自己的信息没有发送到服务器。
值得注意的是,该设备无法与服务器通信的最常见原因是该设备没有与Internet的连接。用户将设备带到没有Internet连接的非常偏远的地方,因此直到服务器返回到偏远的地方或具有允许使用该设备的无线互联网的地方之前,设备与服务器之间的通信才是没有希望的。 >
答案 0 :(得分:0)
这可能不是最优雅的解决方案,但是您可以
TextView
,也可以是角落中的可点击小警报ImageView
,它可以在对话框/吐司中显示信息,也可以根据您的需要<< / li>
onResume
是BaseActivity,请显示/隐藏此布局如果仅用于互联网连接,您还可以在BaseActivity中拥有一个BroadcastReceiver
,它将显示/隐藏警告布局。
答案 1 :(得分:0)
我制作了一个烤面包库,其中包含我的一个项目的预定义消息。它具有错误,警告,wifi警告等。我已在Toast小部件之上构建了它。 ToastRect github link
或者,您可以在对话框片段之上构建一些内容,而这些内容只能由用户关闭。