2015-05-15 11 views
6

Moja aktywność utworzony przez kreatora hash następujący kod:Dlaczego `noinspection SimplifiableIfStatement` automatycznie dodany do działalności utworzonej przez kreatora

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

Co to jest kawałek kodu tutaj?

//noinspection SimplifiableIfStatement 
if (id == R.id.action_settings) { 
    return true; 
} 

Odpowiedz

6

Bez //noinspection SimplifiableIfStatement, redaktor ostrzega cię, bo to może być uproszczone do:

return id == R.id.action_settings; 

Ale to nie jest chyba to, co chcesz tutaj, trzeba będzie umieścić coś w if późniejszym (np launch działanie w ustawieniach).

+0

dzięki, ale dlaczego ten kod jest domyślnie dodawany? Nie mam na myśli komentarza wyłączającego inspekcję, mam na myśli 'return id == R.id.action_settings;' –

+2

Czy rozumiesz jak ['onOptionsItemSelected'] (https://developer.android.com/reference/android/app/ Activity.html # onOptionsItemSelected (android.view.MenuItem)) działa? Kreator domyślnie tworzy menu * Ustawienia *, więc ten kod oznacza: "jeśli kliknięto menu * Ustawienia *, zrób coś" (tutaj po prostu zwraca 'true'). –

+0

Szablon naprawdę powinien mieć komentarz w bloku if do "Dodaj tutaj obsługę ustawień". Nie jestem pewien, czy to rozwiąże ostrzeżenie o zbytnim edytorze. – Anm

Powiązane problemy