如何在广播接收器上更改UI颜色?



我有一个用于更新数据库值的警报管理器。当用户开始报警时,我的广播接收机处于活动状态。我的 BroadcastReceiver 中还有另一个警报,当第一个警报启动时它总是处于活动状态,它只工作一次。我的广播接收器工作,但它没有按照我说的去做。我的目的是:用颜色更新 UI。我有 3 个 if 循环来更新我的数据库。我的问题是我更新了我的数据库,但是当更新我的数据库时,第三个循环不起作用。我正在与 吐司 理解 .我该如何解决它?

第一个效果很好:

if( !listDataBoya.contains("#1eac02")){
Toast.makeText(context, "Alarm !!!!!!!!!!1111111111", Toast.LENGTH_LONG).show();

String table = "people_table";
ContentValues productDetailsContentValues = new ContentValues();
productDetailsContentValues.put("boya", "#1eac02");
String where = " id = " + listDataId.get(secilmissayı);
mDatabaseHelper.update(table, productDetailsContentValues, where , null);
setalarm(context);
}

第二个效果很好:

if (listDataBoya.get(secilmissayı) != "#1eac02" ){
String table = "people_table";
ContentValues productDetailsContentValues = new ContentValues();
productDetailsContentValues.put("boya", "#1eac02");
String where = " id = " + listDataId.get(secilmissayı);
mDatabaseHelper.update(table, productDetailsContentValues, where , null);
Toast.makeText(context, "Alarm !!!!!!!!!!22222222"+ listDataBoya.get(secilmissayı), Toast.LENGTH_LONG).show();
setalarm(context);
}

第三个它不起作用:(我看不到我的吐司。

if (listDataBoya.get(secilmissayı) ==  "#1eac02" ){
Toast.makeText(context, "Alarm !!!!!!!!!!333333333", Toast.LENGTH_LONG).show();
String table = "people_table";
ContentValues productDetailsContentValues = new ContentValues();
productDetailsContentValues.put("boya", "#1eac02");
String where = " id = " + listDataId.get(secilmissayı);
mDatabaseHelper.update(table, productDetailsContentValues, where , null);
setalarm(context);}

第三个示例没有触发,因为您正在将字符串对象与==进行比较,相反,您应该使用 equals 方法,如果参数是表示与您正在比较的字符串对象相同的字符串对象序列的字符串对象,该方法将返回 true。同样,您应该相应地更改其他示例。

if(listDataBoya.get(secilmissayı).equals("#1eac02")){
...
}

最新更新