L'app Android utilizza un progetto di libreria per contenere la maggior parte del codice dell'app, in quanto sono presenti due versioni dell'app create dalla sorgente principale. Dal momento che un aggiornamento IntelliJ IDEA (per V11) sto ottenendo questo avvertimento su ciascuna delle istruzioni case sottostanti:ID elemento menu in un progetto di libreria Android?
Resource IDs cannot be used in a switch statement in Android library modules
Ecco il codice:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_one: // Build error here
// Do stuff
return true;
case R.id.menu_item_two: // Build error here
// Do stuff
return true;
default:
return super.onOptionsItemSelected(item);
}
}
OK, quindi se non riesco a fare riferimento loro tramite il loro ID, come faccio a farli riferimento?
Suppongo che una soluzione sarebbe quella di creare dinamicamente le voci di menu, ma che rimuove tutti i vantaggi di utilizzare le risorse per i menu. Questi errori sembrano dire che non è possibile utilizzare le definizioni del menu XML nei progetti di libreria? –