Guión bajo de Android en lambda

Pequeños puntos de conocimiento del funcionamiento lambda

languageLv!!.setOnItemClickListener { _, _, i, _ ->
    this.position = i
    adapter.notifyDataSetChanged()
}

 

A menudo uso lambda, y lo uso muy suavemente, pero lo escribo con una indicación

Pero la primera vez que lo vi hoy, todavía se puede usar así

 

El prototipo es así

languageLv!!.setOnItemClickListener { parent, view, position, id ->
    this.position = position
    adapter.notifyDataSetChanged()
}

La diferencia radica en los parámetros internos,

Los parámetros innecesarios anteriores son todos guiones bajos (_)

Los siguientes son los parámetros predeterminados

En ese momento, el nombre de la variable miembro era el mismo cuando se usaba. Para evitar conflictos, lo cambié a i. Como vieron mis colegas, directamente me pidieron que cambiara otras variables para subrayar (_). De repente Sentí que era un buen artefacto.

 

Lea la explicación:

Porque la sintaxis de declaración de desestructuración pasa parámetros para expresiones lambda

Si no desea declarar otras variables, puede usar guiones bajos (_) en lugar de variables

 

protected Dialog onCreateDialog(int id) { 
        // TODO Auto-generated method stub 
        switch(id){ 
        case 10: 
            return new AlertDialog.Builder(Activity13.this) 
            .setTitle(getString(R.string.title)).setMessage( 
                    getString(R.string.timeout)).setPositiveButton( 
                    getString(R.string.ok), 
                    new DialogInterface.OnClickListener() { 
                        public void onClick(DialogInterface dialog, 
                                int which) { 
                        } 
                    }).create(); 
       
        } 
        return super.onCreateDialog(id); 
    } 

 

Supongo que te gusta

Origin blog.csdn.net/az44yao/article/details/112920786
Recomendado
Clasificación