Почему не работают кнопки меню?

У меня есть меню, созданное, но по некоторым причинам оно не определяет кнопки меню. Приложение работает, но когда я даю меню, оно ничего не делает из того, что я поставил. Это мой код:

public class MainActivity extends AppCompatActivity {
    private EditText et1, et2, et3, et4, et5;
    private TextView tv1;
    private Context contexto;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        contexto = this;
        et1 = findViewById(R.id.et1);
        et2 = findViewById(R.id.et2);
        et3 = findViewById(R.id.et3);
        et4 = findViewById(R.id.et4);
        et5 = findViewById(R.id.et5);
    }

     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         MenuInflater inflater = getMenuInflater();
         inflater.inflate(R.menu.activity_main, menu);
         return true;
     }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        String message = "El alumno: " + et1.getText() + " " + et2.getText() + "\n vive: "
                + et3.getText() + "\n telefono: " + et4.getText() + "\n se matriculo " + et5.getText();
         switch (item.getItemId()) {
            case R.id.boton1:
                Snackbar.make(tv1, "" + message, Snackbar.LENGTH_LONG).show();
                return true;
            case R.id.boton2:
                AlertDialog.Builder builder = new AlertDialog.Builder(contexto);
                builder.setTitle("Información");
                builder.setMessage(message);
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    }
                });
                builder.show();
                return true;
            case R.id.boton3:
                AlertDialog.Builder builder2 = new AlertDialog.Builder(contexto);
                builder2.setMessage("¿Confirma Salir?")
                        .setTitle("Confirmacion para salir de la aplicacion")
                        .setPositiveButton("Aceptar", new DialogInterface.OnClickListener()  {
                            public void onClick(DialogInterface dialog, int id) {
                                Toast.makeText(contexto,"adios",Toast.LENGTH_SHORT);
                                dialog.cancel();
                                }
                        })
                        .setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        });
                 builder2.create();
                 return true;
            default:
                return super.onContextItemSelected(item);
        }
        }
}
1
задан 30.11.2019, 00:20
1 ответ

Ты используешь mГ©todo onContextItemSelected(), это неправильное, ты должен использовать mГ©todo onOptionsItemSelected () :

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        ...
        ...
        ...
        return true;
    }

onOptionsItemSelected () : mГ©todo, что назван, когда пользователь выбирает элемент menГє выборов (включенные элементы acciГіn бруска app).

1
ответ дан 01.12.2019, 10:35