2014-08-27 5 views
0

je suis en train de construire Android, avec un petit plus, mais je m'a donné les erreurs suivantes:compilation erreur variable java

paquets/apps/Paramètres/src/com/android/réglages/CyanogenMod/ProgressBar .java: 144: ne peut pas trouver symbole symbole: variable ram_bar_button_reset emplacement: classe com.android.settings.R.string menu.add (0, MENU_RESET, 0, R.string.ram_bar_button_reset) ^ packages/apps/Paramètres /src/com/android/settings/cyanogenmod/ProgressBar.java:162: ne peut pas trouver symbole: variable ram_bar_reset emplacement: classe com.android.settings. R.string alertDialog.setTitle (R.string.ram_bar_reset);

quand j'ouvrir le fichier avec les lignes correspondending:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) 
{  
menu.add(0, MENU_RESET, 0, 
R.string.ram_bar_button_reset) 
    .setIcon(R.drawable.ic_settings_backup) 
    .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
} 

et:

private void resetToDefault() 
{  
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity()); 
    alertDialog.setTitle(R.string.ram_bar_reset); 
    alertDialog.setMessage(R.string.progressbar_reset_message); 
    alertDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() 
{   
public void onClick(DialogInterface dialog, int id) 
{ 
    ProgressBarColorReset();    
}  
});   

    alertDialog.setNegativeButton(R.string.cancel, null); 
    alertDialog.create().show();  
} 

quelqu'un peut me dire ce qu'il faut faire?

+1

Vérifiez les accolades et les crochets – Yann

+0

ils sont tous correctes, autant que je sache – OwnDroid

+0

Regardez la deuxième section du code que vous avez collé ici, il y a une accolade incompatible dans resetToDefault() et la dernière secte l'ion est juste faux/incomplet. – Yann

Répondre

1

Pour obtenir une valeur de chaîne de string.xml, vous devez utiliser: Reference

String myStr = getResources().getString(R.string.myStringID); 

Dans votre cas, essayez

getResources().getString(R.string.ram_bar_reset); 

alertDialog.setTitle(getResources().getString(R.string.ram_bar_reset)); 
alertDialog.setMessage(getResources().getString(R.string.progressbar_reset_message)); 
alertDialog.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() ; 

Assurez-vous, votre res\values\strings.xml contient des chaînes avec des noms définis comme ci-dessous:

<resources> 
    <string name="ram_bar_reset">Reset RAM Bar</string> 
    <string name="progressbar_reset_message">Reset Progress Bar</string> 
    <string name="ok">OK</string> 
</resources> 

EDIT: Java final comme demandé:

CODE BLOC 1:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) 
{  
menu.add(0, MENU_RESET, 0, 
getResources().getString(R.string.ram_bar_button_reset)) // <---- Changed Here 
    .setIcon(getResources().getDrawable(R.drawable.ic_settings_backup)) // <-- Changed Here 
    .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
} 

CODE BLOC 2:

private void resetToDefault() 
{  
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity()); 
    alertDialog.setTitle(getResources().getString(R.string.ram_bar_reset)); // <---- Changed Here 
    alertDialog.setMessage(getResources().getString(R.string.progressbar_reset_message)); // <---- Changed Here 
    alertDialog.setPositiveButton(getResources().getString(R.string.ok), // <---- Changed Here 
       new DialogInterface.OnClickListener() 


    {   
    public void onClick(DialogInterface dialog, int id) 
    { 
     ProgressBarColorReset();    
    }  
    }); 



    alertDialog.setNegativeButton(getResources().getString(R.string.cancel),// <---- Changed Here 
            null); 
    alertDialog.create().show();  
} 
+0

merci pour cette réponse, pouvez-vous faire une nouvelle copie des lignes java correctes pour moi, tout en place? – OwnDroid

+0

@OwnDroid: Reportez-vous à ma section Modifier. Les lignes Java ont été incluses. –

+0

merci, j'apprécie cela ... – OwnDroid