我有两个Activity
A 和 B。Activity B
我Button OK
想检查Button Ok
是否点击了Activity A
5 回答
当您单击时Button Ok
,Activity B
您需要保存bollean btnOkClicked = true
.
并且从Activity A
刚刚读取这个值。你可以保存它 - 你想要什么(public static
或共享偏好)
希望它有帮助
在内部设置布尔变量Button ok
您的应用程序存在设计问题(这可能是人们投票反对的原因)
如果Button Ok
在里面Activity B
,并且Button Ok
被点击,这意味着它Activity A
当前没有激活(暂停或销毁)。
您可能想要做的是使用 => https://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent , int)为结果启动活动 B
并在活动 A 中使用 => https://developer.android.com/reference/android/app/Activity.html#onActivityResult(int , int, android.content.Intent)覆盖活动结果
以下教程很好地解释了活动结果: http ://www.mybringback.com/tutorial-series/12186/android-startactivityforresult-example/
您可以创建一个Interface
类并创建一个Boolean Method
具有特定Name
初始化接口类对象的类并在单击中Activity B
分配并在其中实现Boolean Method
Button Ok
interface
Activity A
使用布尔标志创建一个静态类。然后在按下按钮 OK 时设置活动 B 的标志,然后检查活动 A 的标志。
/这是商店类../
public class Store {
/*
* Singleton
*/
private boolean flag
private static Store instance;
public static synchronized Store getInstance() {
if (instance == null) {
instance = new Store();
}
return instance;
}
public String getFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag= flag;
}
// 这是你的 Activity B 中的实现
//onButton Click 设置这个标志
Store.getInstance().setFlag(true);
……
//这是Activity A中的实现
if(Store.getInstance().getFlag()){
** 按钮被点击
}else ** 按钮没有被点击..