Bonjour à tous et merci d'avance pour votre aide.Attendre la boîte de dialogue Cliquez pour relancer une activité
J'ai deux activités. J'appelle un dialogue dans l'activité deux de l'activité un. La chose est que je veux que la boîte de dialogue redémarre l'activité un si le bouton positif est pressé, mais je ne peux pas voir comment le faire.
Ceci est mon code ...
Première activité:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings)
{
Funciones Funciones1 = new Funciones();
Funciones1.MuestraDialogo(CluefichaActivity.this);
return true;
}
return super.onOptionsItemSelected(item);
}
Activité deux:
public class Funciones extends Activity
{ private static final int DIALOGO = 1;
private AlertDialog.Builder ventana;
Activity miActividad;
@Override
protected Dialog onCreateDialog(int id)
{
switch (id)
{
case DIALOGO:
ventana = new AlertDialog.Builder(miActividad);
ventana.setIcon(miActividad.getResources().getIdentifier("my_icon", "drawable", miActividad.getPackageName()));
ventana.setTitle("title");
ventana.setMessage("message");
ventana.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int boton)
{
Intent intent = miActividad.getIntent();
miActividad.finish();
startActivity(intent);
}
});
}
ventana.setNegativeButton("CANCEL", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int boton)
{
}
});
return ventana.create();
}
return null;
}
... ...
public void MuestraDialogo (Activity actividad)
{
miActividad = actividad;
showDialog(DIALOGO);
}
Je reçois cette erreur quand je le lance ...
Process: com.myproject.projectname, PID: 1841
java.lang.NullPointerException
at android.app.Activity.startActivityForResult(Activity.java:3511)
at android.app.Activity.startActivityForResult(Activity.java:3472)
at android.app.Activity.startActivity(Activity.java:3714)
at android.app.Activity.startActivity(Activity.java:3682)
at com.myproject.projectname.Funciones$1.onClick(Funciones.java:130)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
où "Funciones.java:130" est cette ligne de code: "startActivity (intention);"
Quelqu'un peut-il aider, s'il vous plaît? Merci!
pratique de mauvaise programmation pour Android. Vous ne pouvez pas créer un constructeur d'activité, comme une classe Java normale. – user370305
Je ne vous comprends pas, si vous pouviez être un peu plus clair s'il vous plaît – Mazinger
'Funciones Funciones1 = new Funciones();' ici 'Funciones 'est-ce que l'activité est correcte? Vous ne pouvez donc pas créer d'objet d'activité comme Java class sous Android. – user370305