AndroidAnnotations不启动意图(在特定情况下)

时间:2016-07-09 21:09:06

标签: java android android-intent android-annotations

我有一个switch(),根据项目,附加内容在Android注释的相同生成活动中设置:

// this is a switch
case GlobalSearchItemDTO.TYPE_CATEGORIA:
     ProductosActivity_.intent(context)
     .idCategoria(globalSearchEvent.globalSearchItem.getId())
     .flags(Intent.FLAG_ACTIVITY_NEW_TASK
          | Intent.FLAG_ACTIVITY_SINGLE_TOP)
     .start(); // <-- enters and launch the activity
     break;
case GlobalSearchItemDTO.TYPE_PRODUCTO:
     ProductosActivity_.intent(context)
     .idProducto(globalSearchEvent.globalSearchItem.getId())
     .flags(Intent.FLAG_ACTIVITY_NEW_TASK
          | Intent.FLAG_ACTIVITY_SINGLE_TOP)
     .start(); // <-- enters but nothing happens
     break;

但是有一些奇怪的事情,当我启动TYPE_CATEGORIA案例时ProductosActivity_正确启动。

在完全相同的情况下,但TYPE_PRODUCTO情况下,ProductosActivity_未启动。

是我调试了代码,每个案例都在相应的情况下正确进入

是甚至调试器高亮线触及.start()案例中的TYPE_PRODUCTO行,但没有发生任何事情

是的,代码已经使用调试器

更新

没有消息,没有错误,没有警告

我错过了Android Annotations的内容吗?

我已尝试使用.get()设置intent var,然后本机启动intent。

1 个答案:

答案 0 :(得分:0)

只有在我设置了另一个@Extra变量时才有效:|

// this is a switch
case GlobalSearchItemDTO.TYPE_CATEGORIA:
     ProductosActivity_.intent(context)
     .idCategoria(globalSearchEvent.globalSearchItem.getId())
     .flags(Intent.FLAG_ACTIVITY_NEW_TASK
          | Intent.FLAG_ACTIVITY_SINGLE_TOP)
     .start(); // <-- enters and launch the activity
     break;
case GlobalSearchItemDTO.TYPE_PRODUCTO:
     ProductosActivity_.intent(context)
     // and this is a shit.ch
     // seriously Android Annotations?
     .idCategoria(globalSearchEvent.globalSearchItem.getId())
     .idProducto(globalSearchEvent.globalSearchItem.getId())
     .flags(Intent.FLAG_ACTIVITY_NEW_TASK
          | Intent.FLAG_ACTIVITY_SINGLE_TOP)
     .start(); // <-- now enters and launch the activity
     break;

我不得不说我不需要逻辑bisness的第二个变量:|

如果我把.idCategoria(null)的bug仍然存在,所以即使我不需要该变量,我也必须设置一个值:/