Experiencia en el uso de Android startActivity() y startActivityForResult()

Efecto final:

1. Actividad de lista—>Actividad de detalles—>Actividad de edición 3. Después de editar los datos, regrese a la interfaz de detalles y actualice los datos. La interfaz de detalles regresa a la interfaz de lista y actualice los datos.
2. Listar actividad—>Detalles de actividad—>Editar actividad 3. Después de editar los datos, regrese directamente a la lista y actualice los datos.

Pasos específicos:

La primera forma de lograr el efecto:
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(列表Activity, 详情Activity);
        context.startActivityForResult(intent,10000);
    }
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(详情Activity, 编辑Activity);
        context.startActivityForResult(intent,10000);
    }

Editar actividad completa los datos y devuelve los detalles

Intent intent = new Intent();
setResult(Activity.RESULT_OK, intent);
finish();

Detalles La actividad maneja los datos de actualización

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
             if(requestCode == 10000){
                //再次调用接口请求数据
            }
        }
    }

Detalles La actividad regresa a la interfaz de lista y actualiza los datos

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode != RESULT_OK) {
           //再次调用接口请求数据
        }
    }
La segunda forma de lograr el efecto:
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(列表Activity, 详情Activity);
        context.startActivityForResult(intent,10000);
    }
  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(详情Activity, 编辑Activity);
        context.startActivityForResult(intent,10000);
    }

Detalles La actividad salta a la actividad de edición

  public static void startAction(Activity context, String id) {
        Intent intent = new Intent(详情Activity, 编辑Activity);
        context.startActivityForResult(intent,10000);
    }
    finish();//跳转时直接关闭详情Activity

Editar Actividad: Después de editar los datos, regrese directamente a la lista Actividad.

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode != RESULT_OK) {
           //再次调用接口请求数据
        }
    }

Observación:


La opinión de un novato en programación. Si hay algún error, indíquelo y corríjalo a continuación para evitar engañar a otros.

El efecto de este artículo ha sido probado personalmente. Solo escribo este artículo como una nota para mí. No rocíes, no rocíes, no rocíes.


Supongo que te gusta

Origin blog.csdn.net/u010689434/article/details/111993500
Recomendado
Clasificación