Android uygulaması, çekirdek kaynağından oluşturulan uygulamanın iki sürümü olduğundan, uygulama kodunun çoğunu içerecek bir kütüphane projesi kullanır. Aşağıda durum açıklamalarının her birinde bu uyarıyı alıyorum (v11 kadar) bir IntelliJ IDEA güncelleme yana: BuradaMenü öğesi kimlikleri?
Resource IDs cannot be used in a switch statement in Android library modules
kod:
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);
}
}
Tamam, bu yüzden başvuru yapamazsınız eğer Onları kimlikleri üzerinden nasıl referans gösterebilirim?
Bir çözüm dinamik menü öğelerini oluşturmak üzere olurdu herhalde Non-constant Fields in Case Labels Bkz, ama bu menüler için kaynakları kullanarak tüm faydalarını kaldırır. Bu hatalar, kütüphane projelerinde XML menü tanımlarının kullanılmasının mümkün olmadığını mı söylüyor? –