es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Llamando a la función mediante el nombre de cadena en la actividad.

Estoy intentando llamar una función por su nombre como una cadena:

java
Method method = null;
try {
method = Class.forName(“com.lab.android.TabActivity”).getMethod(item,String.class);
method.invoke(this, null);
} catch (NoSuchMethodException e) {
Log.e(“DTAG”,”NoSuchMethodException “+e.getMessage());
e.printStackTrace();
} catch (ClassNotFoundException e) {
Log.e(“DTAG”,”ClassNotFoundException “+e.getMessage());
e.printStackTrace();
} catch (IllegalAccessException e) {
Log.e(“DTAG”,”IllegalAccessException “+e.getMessage());
e.printStackTrace();
} catch (InvocationTargetException e) {
Log.e(“DTAG”,”InvocationTargetException “+e.getMessage());
e.printStackTrace();
}

Obtengo una excepción:

NoSuchMethodException com.lab.android.TabActivity.somesome [class java.lang.String]

Esta es la función en mi actividad:

java
public static void somesome() {
Log.d(“DTAG”,”Gran éxito”);
}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que la función no se encuentra. Asegúrate de que la función se declare como public y que el nombre de la función sea correcto. Además, asegúrate de que la función se declare en la clase com.lab.android.TabActivity.

Comments are closed.