Пункт меню в строке действий не работает

Привет я добавил файл меню, есть 3 пункта меню:

1) Pin Меню,

2) отправьте ответ и

3) Добавить Заметки.

Отправить ответ, добавить заметки работают хорошо, но, когда удаляется комментарий для pin-кода, он не работает. Я прикрепил код ниже.

Пожалуйста предложите мне любое решение. При вставке кода отправки ответа в pin_menu case с целью тестирования он не работает.

Log cat ничего не показывает.Я добавил Тост по щелчку pin_menu он не отображается.Пожалуйста предложите мне решение.

Я также попытался добавить одно дополнительное меню в XML-файл и добавил код, такой же, как pin_menu, но не работал. Не показывает log cat, тост. Так что сложно отлаживать.То же самое для отправки ответа и добавления заметки, но оба работают нормально.

Код как ниже:

 <item android_id="@+id/menu_pin"
      android_icon="@drawable/pin"
      android_title="@string/pin"
      android_showAsAction="never" 
      />

<item android_id="@+id/menu_send_reply"
      android_icon="@drawable/send"
      android_title="@string/send_reply"
      android_showAsAction="never" 
      />

<item android_id="@+id/menu_add_note"
      android_icon="@drawable/add_note"
      android_title="@string/add_note"
      android_showAsAction="never" 
       />

                            @Override
                public boolean onCreateOptionsMenu(Menu menu) {
                    // TODO Auto-generated method stub
                    MenuInflater menuInflater = getMenuInflater();
                    menuInflater.inflate(R.menu.ticket_properties_menu, menu);
                    return true;
                }

                @Override
                public boolean onOptionsItemSelected(MenuItem item) {

                    Log.d("DATA ","Item ID "+item.getItemId());
                    // TODO Auto-generated method stub
                    switch (item.getItemId())
                    {
                    case R.id.menu_add_note:

                        Intent i3 = new Intent(Ticket_properties.this,Add_note.class);
                        i3.putExtra("ID", Ticket_id);
                        i3.putExtra("client_id", client_id);
                        startActivity(i3);
                        return true;

                    case R.id.menu_send_reply:

                        Intent reply= new Intent(Ticket_properties.this,Send_reply.class);
                        reply.putExtra("ticket_id", Ticket_id);
                        reply.putExtra("title", Ticket_title);
                        reply.putExtra("dept_id", tv_dept_id.getText());
                        reply.putExtra("Ticket_hash", Ticket_hash);
                        reply.putExtra("filter_id",filter_id);
                        startActivity(reply);
                        return true;

                    case R.id.menu_pin:

                        Intent reply1= new Intent(Ticket_properties.this,Send_reply.class);
                        reply1.putExtra("ticket_id", Ticket_id);
                        reply1.putExtra("title", Ticket_title);
                        reply1.putExtra("dept_id", tv_dept_id.getText());
                        reply1.putExtra("Ticket_hash", Ticket_hash);
                        reply1.putExtra("filter_id",filter_id);
                        startActivity(reply1);
                        return true;

                        /*
                      String PIN_URL=op.getUrl(Ticket_properties.this,"ticket", "add_pinup","&vis_ticket_id=124");
                      JSONArray pin_result = JSONfunctions.getJSONfromURL(PIN_URL+"&vis_encode=json",Ticket_properties.this);
                      String result =pin_result.toString();
                      if(result.equals("["success"]"))
                      {             
                            Operation.showToast(getApplicationContext(),R.string.pinned);           
                      }
                      */

                  default:
                        return super.onOptionsItemSelected(item);
                    }


                }

1 ответ

  1. Ну, я думаю, что вы используете этот прокомментированный код в неправильном месте. Вы должны использовать его перед возвращением, в структуре случая переключателя. Если вы хотите, чтобы вызвать его на pin-код нажал. Вот обновленный код;

    @Override
                public boolean onCreateOptionsMenu(Menu menu) {
                    // TODO Auto-generated method stub
                    MenuInflater menuInflater = getMenuInflater();
                    menuInflater.inflate(R.menu.ticket_properties_menu, menu);
                    return true;
                }
    
                @Override
                public boolean onOptionsItemSelected(MenuItem item) {
    
                    Log.d("DATA ","Item ID "+item.getItemId());
                    // TODO Auto-generated method stub
                    switch (item.getItemId())
                    {
                    case R.id.menu_add_note:
    
                        Intent i3 = new Intent(Ticket_properties.this,Add_note.class);
                        i3.putExtra("ID", Ticket_id);
                        i3.putExtra("client_id", client_id);
                        startActivity(i3);
                        return true;
    
                    case R.id.menu_send_reply:
    
                        Intent reply= new Intent(Ticket_properties.this,Send_reply.class);
                        reply.putExtra("ticket_id", Ticket_id);
                        reply.putExtra("title", Ticket_title);
                        reply.putExtra("dept_id", tv_dept_id.getText());
                        reply.putExtra("Ticket_hash", Ticket_hash);
                        reply.putExtra("filter_id",filter_id);
                        startActivity(reply);
                        return true;
    
                    case R.id.menu_pin:
    
                                              String PIN_URL=op.getUrl(Ticket_properties.this,"ticket", "add_pinup","&vis_ticket_id=124");
                      JSONArray pin_result = JSONfunctions.getJSONfromURL(PIN_URL+"&vis_encode=json",Ticket_properties.this);
                      String result =pin_result.toString();
                      if(result.equals("[\"success\"]"))
                      {             
                            Operation.showToast(getApplicationContext(),R.string.pinned);           
                      }
                        Intent reply1= new Intent(Ticket_properties.this,Send_reply.class);
                        reply1.putExtra("ticket_id", Ticket_id);
                        reply1.putExtra("title", Ticket_title);
                        reply1.putExtra("dept_id", tv_dept_id.getText());
                        reply1.putExtra("Ticket_hash", Ticket_hash);
                        reply1.putExtra("filter_id",filter_id);
                        startActivity(reply1);
                        return true;
    
                  default:
                        return super.onOptionsItemSelected(item);
                    }
    
    
                }