Как распределять событие click в кнопку в Android programáticamente?

Маленький добрый день, я делаю модуль в Android и этом разе, всякий раз когда я нажал на Radiobutton (многих, которые есть в формуляре) я должен добавлять EditText и кнопку, которая снимет и будет хранить ее в физической памяти, уже я смог добавлять графические элементы динамической формы, проблема - какой я распределяю событие click в кнопку снимания состоя в том, что этот это добавил из-за кода Java:

 public void AdicionarElementos(View view){
        LinearLayout contenedor = (LinearLayout) view.getParent().getParent();
        EditText observacion = new EditText(this);

        observacion.setHintTextColor(Color.GRAY);
        observacion.setHint("Ingrese una observación");
        contenedor.addView(observacion);

        Button boton_tomar_foto = new Button(this);
        boton_tomar_foto.setText("Tomar Foto");
        boton_tomar_foto.setGravity(1);

        //Aqui asignar evento 
        //boton_tomar_foto............

        contenedor.addView(boton_tomar_foto);

    }

Спасибо за вашу помощь.

1
задан 14.02.2017, 17:46
0 ответов

Si la tabla Out_MTK ya existe, простой игрок, работающий с дебатами:

INSERT INTO Out_MTK(Id_MTK, Fijo1, Fijo2)
SELECT * 
FROM Aux_Mtk_Red_Familia_Parte1
UNION ALL 
SELECT * 
FROM Aux_Mtk_Red_Familia_Parte2;

Si la tabla no existe y la quieres crear con los datos de ese UNION ALL , призывает США:

SELECT * 
INTO Out_MTK
FROM Aux_Mtk_Red_Familia_Parte1
UNION ALL 
SELECT * 
FROM Aux_Mtk_Red_Familia_Parte2;
---------121--------39272-- -

Programaticamente puedes agregar un escuchador al botón así:

     boton_tomar_foto.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             // tu acción
         }
     });
1
ответ дан 03.12.2019, 17:03
  • 1
    Гениальный! funcionó чуда, большое спасибо –  14.02.2017, 17:55

tu codigo debe quedar asi

    public void AdicionarElementos(View view){
    LinearLayout contenedor = (LinearLayout) view.getParent().getParent();
    EditText observacion = new EditText(this);

    observacion.setHintTextColor(Color.GRAY);
    observacion.setHint("Ingrese una observación");
    contenedor.addView(observacion);

    Button boton_tomar_foto = new Button(this);
    boton_tomar_foto.setText("Tomar Foto");
    boton_tomar_foto.setGravity(1);
    contenedor.addView(boton_tomar_foto);
    //Aqui asignar evento
    //boton_tomar_foto............

    boton_tomar_foto.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String file = "tuDirectorio" + Math.random() + ".jpg";
            File newfile = new File(file);
            Uri outputFileUri = Uri.fromFile(newfile);

            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

            startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);

        }
    });
}

int TAKE_PHOTO_CODE = 0;

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
        Log.d("CameraDemo", "Pic saved");
    }
}
0
ответ дан 03.12.2019, 17:03
  • 1
    Serí в рекомендуемый не нумерования имени архива в зависящем от случая способе, меньше используя Math.random () и не подтверждая, что архив уже существует. Печать времени дает лучшие результаты в произвождении имен архивов. –  14.02.2017, 18:06