Как получить событие onClickListener () на пользовательской панели действий

Я разрабатываю приложение, в котором я должен получитьonClick() событие по клику на панели действий. Пока ям в состоянии достичь следующего макета.

Вот мой код для достижения этой цели:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getActionBar().setDisplayHomeAsUpEnabled(true);
    getActionBar().setHomeButtonEnabled(true);

    getActionBar().setCustomView(R.layout.custom_image_button);
    getActionBar().setDisplayOptions(
            ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM);

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

    case android.R.id.home:
        Toast.makeText(getApplicationContext(), "Clicked on ActionBar",
                Toast.LENGTH_SHORT).show();

    default:
        return super.onOptionsItemSelected(item);
    }
}

Вот мой макет custom_image_button:






    
    

    
    



Я пытался настроить прослушивание щелчков на пользовательском макете. Для этого я попробовал следующий код:}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getActionBar().setDisplayHomeAsUpEnabled(true);
    getActionBar().setHomeButtonEnabled(true);

    getActionBar().setCustomView(R.layout.custom_image_button);
    getActionBar().setDisplayOptions(
            ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM);

    final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View v = inflater.inflate(R.layout.custom_image_button, null);

    frameLayout = (FrameLayout) v.findViewById(R.id.frame_layout);

    frameLayout.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Toast.makeText(getApplicationContext(), "Clicked on 1",
                    Toast.LENGTH_SHORT).show();
            return false;
        }
    });
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

    case android.R.id.home:
        Toast.makeText(getApplicationContext(), "Clicked on ActionBar",
                Toast.LENGTH_SHORT).show();

    default:
        return super.onOptionsItemSelected(item);
    }
}

Но я'я не могу получитьonClick() событие на заказное изображение. Что я'Я делаю неправильно здесь, пожалуйста, руководство.

Любая помощь будет оценена.

Ответы на вопрос(2)

Ваш ответ на вопрос