R.string.value retourne le numéro d'identification de référence de la « valeur » des ressources. Si vous regardez votre classe R, il apparaît comme quelque chose comme ceci:
public static final class string {
public static final int value=0x7f040007;
}
J'ai rencontrez des problèmes avec référence à la méthode getString(). L'erreur exacte que Eclipse crache dessus moi:
La méthode getString (int) est définie pour le type DatabaseHelper.MainDatabaseHelper
Après avoir lu pendant un certain temps, je l'ai compris que vous devez faire référence à votre contexte de l'application pour accéder à la méthode getString(). J'essayais de créer une classe d'assistance SQLDatabase privée dans un fournisseur de contenu, ce qui ne me permettait pas de faire référence à la méthode getString(). Ma solution à ce jour est de faire quelque chose comme ceci:
private class MainDatabaseHelper extends SQLiteOpenHelper {
MainDatabaseHelper(Context context) {
super(context, context.getString(R.string.createRoutesTable), null, 1);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL((getContext()).getString(R.string.createRoutesTable));
}
}
avis de ces deux références de contexte:
contexte .getString()
(getContext()) .getString()
Je ne sais pas si c'est le s optimal à long terme mais il semble fonctionner pour le moment. J'espère que cela t'aides.
a bien fonctionné. merci – Simon
@Sephy J'ai un problème avec getString(), je reçois toujours "La méthode getString (int) est indéfinie ..." qu'est-ce que je fais mal? – mlevit
Qu'est-ce que vous essayez d'obtenir avec cette méthode? – Sephy