2011-09-18 5 views
0

Dans une activité, j'ai deux vues de texte. Dans le menu contextuel, j'ai une option pour changer la taille du texte de l'un des affichages de texte. J'ai essayé quelque chose comme ça ..Android AlertDialog avec textSize changeant dynamiquement dans le menu contextuel

 public boolean onOptionsItemSelected(MenuItem item){ 
      switch (item.getItemId()){ 
        case R.id.menutextSize: 
        final CharSequence[] items = {"Normal","Large","Larger"}; 
        AlertDialog.Builder builder = new  

      AlertDialog.Builder(this); 
        builder.setTitle("Select TextSize"); 
        builder.setSingleChoiceItems(items, -1, 
          new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int item) { 
          Toast.makeText(getApplicationContext(), items[item], 
            Toast.LENGTH_SHORT).show(); 
         } 
        }); 

        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int whichButton) { 

          int textSize = (int)mBodyText.getTextSize(); 
          if (items[whichButton] == "Normal")  
          { 
           mTextv.setTextSize(12); 
          } 
          if (items[whichButton] == "Large")  
          { 
           mTextv.setTextSize(14); 
          } 
          if (items[whichButton] == "Larger")  
          { 
           mTextv.setTextSize(16); 
          } 




         } 
        }); 
        builder.setNegativeButton("cancel", null); 
        builder.show(); 
        return true;  
      } 

t quand je suis clciking dans le RadioButton il montre messsage « Force proche ». Comment puis-je resoudre ceci? Merci ..

Répondre

1

Votre application se bloque car elle tente d'accéder à un élément avec un index négatif dans la baie items. Il arrive à cause de ces lignes:

if (items[whichButton] == "...") 

Si vous regardez attentivement la documentation DialogInterface.OnClickListener vous remarquerez que sa méthode onClick() accepte ces constantes comme BUTTON_POSITIVE, BUTTON_NEUTRAL et BUTTON_NEGATIVE qui sont tous négatifs et non reliés aux éléments de liste.

Questions connexes