Кто-нибудь может проиллюстрировать возвращение "onOptionsItemSelected"? - PullRequest
7 голосов
/ 03 февраля 2012

на сайте разработки для Android, я видел объяснение onOptionsItemSelected, на стороне return, он сказал, что: boolean Return false to allow normal menu processing to proceed, true to consume it here.

Извините за глупость, кто-нибудь может проиллюстрировать, что объясняет предложениеДолжен ли я вернуть true или false в обычной ситуации?

Ответы [ 2 ]

15 голосов
/ 03 февраля 2012

Вы должны вернуть true, если вы обрабатываете элемент меню, и возвращаете super.onOptionsItemSelected (item), если вы этого не сделаете.

, например

public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
        case R.id.option1:
            handleOption1();
            return true;
        case R.id.option2:
            handleOption2();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
1 голос
/ 03 февраля 2012

Я думаю, что вы можете просто позволить системе справиться с этим, выполнив:

return super(...);

Иначе, возвращение TRUE / FALSE просто означает, что если рассматриваемый вами случай полностью обработал событие, просто верните TRUE.Если это не так, верните false, и система должна отправлять четные данные правильному обработчику.

...