1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| // convertir /home/dossier/projet/ en ce type de procede
private static final String CHEMIN = "%1$s.ex%2$02d.%3$s";
private static final String[][] ACTIVITES_PAR_CHAPITRE = {
// Exemples 01
{ "MesuresEcranActivite" },
// Exemples 02
{ "IntentionExpliciteActivite" } };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final String[] chapitres = getResources().getStringArray(R.array.chapitres);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, chapitres));
}
@Override
protected void onListItemClick(ListView l, View v, final int position, long id) {
final int nChap = position + 1;
if (ACTIVITES_PAR_CHAPITRE[position].length == 1) {
lanceActivite(nChap, position, 0);
return;
}
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setItems(ACTIVITES_PAR_CHAPITRE[position],
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
lanceActivite(nChap, position, item);
}
});
builder.create()
.show();
}
private void lanceActivite(final int nChap, final int position, final int elt) {
try {
final String chemin =
String.format(CHEMIN, getPackageName(), nChap,
ACTIVITES_PAR_CHAPITRE[position][elt]);
final Intent intent =
new Intent(MonActivitePrincipale.this, Class.forName(chemin));
startActivity(intent);
} catch (final ClassNotFoundException e) {
e.printStackTrace();
}
}
} |
Partager