Android no puede resolver la intención del constructor

Esta es una sección de mi código. Estoy intentando hacer un menú de la navegación en el cual cuando usted chasca encendido el primer artículo de la lista él lanza la actividad MrsClubb . Sin embargo, cuando pongo esto en mi código que viene con el error:

 Cannot resolve constructor 'Intent(android.widget.AdapterView.OnItemClickListener,java.lang.Class<com....etc>)' 

Alguna idea de cómo resolver esto?

El doble ** indica dónde está el error en el código.

Aquí está la sección del código:

  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer); mDrawerList = (ListView)findViewById(android.R.id.list); mDrawerListItems = getResources().getStringArray(R.array.drawer_list); mDrawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mDrawerListItems)); mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { switch(position) { case 0: Intent i = new Intent**(this, MrsClubb.class);** startActivity(i); } mDrawerLayout.closeDrawer(mDrawerList); } }); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close){ public void onDrawerClosed(View v){ super.onDrawerClosed(v); invalidateOptionsMenu(); syncState(); } public void onDrawerOpened(View v){ super.onDrawerOpened(v); invalidateOptionsMenu(); syncState(); } }; 

El problema:

No puede utilizar this para referirse a la Activity dentro de una clase interna, ya que this convierte en una referencia a la clase interna. El significado del mensaje constructor not resolved es que el compilador lo interpreta como

 Intent(AdapterView.OnItemClickListener listener, Class class) 

Que no reconoce, en lugar de

 Intent(Context context, Class class) 

Que es correcto y lo que el compilador espera.

La solución:

Reemplazar

 Intent i = new Intent(this, MrsClubb.class); 

con

 Intent i = new Intent(MyActivity.this, MrsClubb.class); 

Donde MyActivity es el nombre de la clase de Activity en la que pertenece este código.

  • OutOfMemoryError crear bitmaps
  • Problemas al instalar herramientas de desarrollo de Android en Eclipse 3.7
  • Detectar la actualización de la aplicación de Android y establecer la clase de aplicación booleana para mostrar / ocultar el CLUF
  • Array límites en java y .length
  • Cómo agregar los datos escritos a un archivo?
  • Serialización Gson dependiendo del valor del campo
  • El botón no está llamando a OnClickListener con el primer clic
  • Cómo obtener los nombres de archivo almacenados en la tarjeta sd en android
  • ¿Cómo puedo saber cuando HttpClient.execute () ha terminado de buscar todo el contenido en una solicitud grande?
  • Patrón MVC en Android
  • Android.view.InflateException: Archivo XML binario línea # 10: Error al inflar fragmento de clase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.