2013-09-03 18 views
6

'dan geçersiz kılınamıyor. ActionBarSherlock'tan, Google IO 2013'da tanıtılan ActionBarCompat kitaplığına geçiş işlemindeyim (bunu ActionBarDrawerToggle'ı kullanabilmem için yapıyorum).Son yöntem, ActionBarActivity

Gerekli tüm bağımlılıkları (AppCompat, en son destek kitaplığı ...) sıraladım, tüm içe aktarmaları düzeltdim ama şimdi ActionBarActivity'nin onMenuItemSelected'u kullanmaya çalıştığımda bir hata alıyorum.

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    ... 
} 

hatası:

Cannot override the final method from ActionBarActivity

(FragmentActivity miras) ActionBarActivity orijinal bir yöntem kesindir. ABS kullandığımda, bu çalışıyordu, şimdi yöntemi geçersiz edemiyorum.

(Menuıtem sınıfının android.view.MenuItem ait olup compat versiyonu ...)

Ben bir şey eksik?

cevap

11

onMenuItemSelected kullanmak yerine onOptionsItemSelected kullandım ve kod tamamlandı.

onMenuItemSelected, belgelerde görünebilir, ancak kodda görünmüyor olabilir mi?

+3

Sorunuzu yanıtlamak için: Hayır, 'android.support.v7.app.ActionBar' yönteminde 'onMenuItemSelected' kodda, ancak ** son ** yöntemidir ve 'Geçersiz Kıl' yapamazsınız ** final ** yöntemleri. – Stigi

+0

Üzgünüm orada yanlış yazdım ve düzenlemek için geç. Tabii ki android.support.v7.ActionBarActivity' anlamına geliyordu. – Stigi

+0

@Stigi haklısın ama garip, çünkü ABS'yi kullanarak onu geçersiz kıldım ve orası da final olarak tanımlandı. Geçersiz kılmamak için amacı nedir? – Michael