2016-07-09 4 views
0

(특정 경우) 의도를 시작하지 않는 항목의 따라 엑스트라 안드로이드 주석에 의해 같은 생성 활동에 설정되어 switch() :AndroidAnnotations 내가 가진

// 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_이 실행되지 않습니다.

은 YES 나 코드를 디버깅 각 경우

YES에도 디버거 하이라이트 라인이 TYPE_PRODUCTO 경우에 .start() 선 접촉 각 상황에 바로 입사하지만 아무것도

가 YES 코드가 이미 업데이트되어 발생되지 디버거

어떠한 메시지도없고, 오류, 경고없이

나는 안드로이드 주석 뭔가를 누락

?

나는 .get()으로 시도하여 int를 var로 설정 한 다음 의도적으로 의도를 시작합니다.

답변

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)을 입력하면 버그가 여전히 있으므로 변수가 필요하지 않을 때도 값을 설정해야합니다./