Приветствуем всех и благодарим за помощь.Ждите ответа на диалог, чтобы перезапустить мероприятие
У меня есть два вида деятельности. Я вызываю диалог в действии два от первого действия. Дело в том, что я хочу, чтобы диалоговое окно перезапустило действие 1, если нажата положительная кнопка, но я не могу увидеть, как это сделать.
Это мой код ...
активность один:
@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);
}
активность два:
public class Funciones extends Activity
{ частных статических окончательное ИНТ Diálogo = 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);
}
Я получаю эту ошибку, когда я запускаю его ...
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)
где "Funciones.java:130" это линия кода: «startActivity (намерение)»;
Может кто-нибудь помочь, пожалуйста? Благодаря!
Bad практике программирования для Android. Вы не можете создавать конструктор активности, как обычный класс Java. – user370305
Я не понимаю вас, если вы можете быть немного более ясными, пожалуйста, – Mazinger
'Funciones Funciones1 = new Funciones();' здесь 'Funciones' - это право деятельности? Таким образом, вы не можете создать объект активности, такой как Java-класс в Android. – user370305