Cómo lograr algo como "terminar" en una clase de no actividad en android?
Este cuadro de diálogo le pregunta si desea instalar alguna otra aplicación … por lo que cuando no se pulsa ningún botón debe volver a la pantalla anterior
downloadDialog.setNegativeButton(stringButtonNo, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int i) { finish(); } });
Esto da el error:
- Cuadro de diálogo de alerta dos botones
- Cómo crear AppCompatDialog de AlertDialog.Builder o equivalente?
- Artículos de AlertDialog no mostrados
- Android: ¿Cómo puedo recuperar Edittext.getText () en AlertDialog personalizado?
- AlertDialog - cómo puedo ejecutar cheques cuando el usuario pulsa 'OK'
El método finish () no está definido para el tipo nuevo DialogInterface.OnClickListener () {}
¿Cómo puedo lograr lo que quería ???
package com.Android.barcode; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class BarcodeActivity extends Activity { public static String upc; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); IntentIntegrator.initiateScan(this); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case IntentIntegrator.REQUEST_CODE: { if (resultCode != RESULT_CANCELED) { IntentResult scanResult = IntentIntegrator.parseActivityResult( requestCode, resultCode, data); if (scanResult != null) { upc = scanResult.getContents(); Intent intent = new Intent(BarcodeActivity.this, BarcodeResult.class); startActivity(intent); // put whatever you want to do with the code here /* TextView tv = new TextView(this); tv.setText(upc); setContentView(tv);*/ } } break; } } } }
- AlertDialog en una función que tiene un valor de retorno
- Cómo mostrar una imagen en el cuadro de diálogo
- Establecer márgenes para EditText en AlertDialog
- ¿Por qué este AlertDialog.Builder.setIcon no muestra el ícono ic_menu_info?
- Termine el diálogo y la actividad
- Cambiar tamaño de fuente en un AlertDialog
- Deshabilitar la atenuación de fondo en ProgressDialog / AlertDialog en Android
- Android AlertDialog - Color de fondo del encabezado
Dado que no desea crear ese diálogo desde esa actividad: Tiene dos opciones
1) Llamar a una intención de regreso a la actividad que desea que el usuario ir.
Intent intent = new Intent(getBaseContext(), theActivity.class); getApplication().startActivity(intent) ;
si no
2) Crear un constructor para esa clase que consiste en el diálogo.
public class ABC { Context iContext=null; public ABC(Context con){ iContext=con; } .... }
Llame a la clase con el Contexto de la actividad. Como ABC(Cont)
. Y luego usa ((Activity)iContext).finish()
dentro de esa clase para terminar esa actividad como desees.
Si su clase que tiene constructor que teniendo asignar Contexto en que u puede utilizar de esta manera
AlertDialog.Builder adb=new AlertDialog.Builder(context); adb.setTitle("Are You Sure Want To Delete?"); adb.setPositiveButton("OK", new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { }}); adb.setNegativeButton("CANCEL", new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { ((Activity) context).finish(); }}); adb.show();
El método finish () no está definido para el tipo nuevo DialogInterface.OnClickListener () {}
Es probable dar este error porque DialogInterface.OnClickListener
no tiene ningún método. Si quieres terminar tu Actividad tienes que usar
ActivityName.this.finish();
La mejor solución es utilizar el fragmento de diálogo para cualquier tipo de diálogo que acaba de abrir un diálogo en su actividad. Y en los oyentes eliminar este cuadro de diálogo. Por favor, eche un vistazo en el siguiente enlace:
http://developer.android.com/reference/android/app/DialogFragment.html
Se recomienda de los chicos de Android también.
- Mala magia de archivos de clase al usar dx.bat
- SDK de Android Facebook – No se pudo recibir el token de acceso