2009-10-07 6 views
0

Mon code personnalisé ViewGroup attend un certain nombre de chaînes pour un array spécifié dans arrays.xml.Abandon de ViewGroup si une condition n'est pas remplie?

Je souhaite que l'application s'arrête si cette condition n'est pas remplie.

Quelle est la meilleure pratique pour cela?

Devrais-je lancer un IllegalStateException à partir du ViewGroup constructor?

public MyViewGroup(Context context, AttributeSet attrs) 
{ 
    super(context, attrs); 
    if(getResources().getStringArray(R.array.carousellabels).length != 7) 
     throw new IllegalStateException("There must exactly 7 items for 
      array resource R.array.carousellabels"); 
} 

Répondre

0

L'exception de lancement et de traitement est une opération coûteuse. Vous pouvez créer une méthode factory qui renvoie une instance valide (si vous obtenez le bon nombre d'entrées) ou null. Ensuite, vous vérifiez simplement null et faites tout ce dont vous avez besoin pour gérer la condition (pop Toast?)

Questions connexes