FindViewById (R.id.drawer_layout) devuelve null
Tengo un problema con la línea siguiente:
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
devolviendo null.
- Cómo ingresar valores numéricos a Android Numpad usando Appium?
- ¿Cómo puedo utilizar la fuente bangla como un valor de cadena en android
- Cómo apoyar AARs en Eclipse?
- Conectando a la base de datos externa - Aplicación de Android
- Empaque el código android en el archivo jar
Para propósitos de depuración, he probado el archivo XML que se encuentra en el tutorial oficial de Android DrawerLayout:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- The main content view --> <FrameLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- The navigation drawer --> <ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" android:background="#111"/> </android.support.v4.widget.DrawerLayout>
Y esta es la parte superior de mi FragmentActivity archivo:
import org.json.JSONException; import org.json.JSONObject; import android.annotation.SuppressLint; import android.app.ProgressDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.app.FragmentActivity; import android.support.v4.content.LocalBroadcastManager; import android.support.v4.widget.DrawerLayout; import android.util.Log; import android.view.View; import android.widget.Toast; public class PuzzleAllActivity extends FragmentActivity { private ProgressDialog dialog; private ActionBarDrawerToggle mDrawerToggle; private DrawerLayout mDrawerLayout; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_puzzle_all); mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout); if(mDrawerLayout == null){ Log.d("DEBUG", "Drawer layout is null"); } mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.menu_icon, R.string.drawer_open, R.string.drawer_close) { public void onDrawerClosed(View view) { //getActionBar().setTitle(mTitle); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) { invalidateOptionsMenu(); } } public void onDrawerOpened(View drawerView) { //getActionBar().setTitle(mDrawerTitle); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) { invalidateOptionsMenu(); } } }; mDrawerLayout.setDrawerListener(mDrawerToggle);
Por alguna razón, mDrawerLayout es null, lo que me da una java.lang.NullPointerException para la última línea:
mDrawerLayout.setDrawerListener(mDrawerToggle);
Soy relativamente nuevo en la programación de Android y no tengo ni idea de lo que podría causar este problema.
Me he cerciorado de que las bibliotecas de la ayuda en la trayectoria de la estructura del proyecto estén comprobadas.
Este es el error que obtengo:
02-15 22:12:03.712: E/AndroidRuntime(17259): FATAL EXCEPTION: main 02-15 22:12:03.712: E/AndroidRuntime(17259): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.puzzleall.puzzleall/com.puzzleall.puzzleall.PuzzleAllActivity}: java.lang.NullPointerException 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.ActivityThread.access$700(ActivityThread.java:150) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.os.Handler.dispatchMessage(Handler.java:99) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.os.Looper.loop(Looper.java:176) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.ActivityThread.main(ActivityThread.java:5279) 02-15 22:12:03.712: E/AndroidRuntime(17259): at java.lang.reflect.Method.invokeNative(Native Method) 02-15 22:12:03.712: E/AndroidRuntime(17259): at java.lang.reflect.Method.invoke(Method.java:511) 02-15 22:12:03.712: E/AndroidRuntime(17259): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 02-15 22:12:03.712: E/AndroidRuntime(17259): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 02-15 22:12:03.712: E/AndroidRuntime(17259): at dalvik.system.NativeStart.main(Native Method) 02-15 22:12:03.712: E/AndroidRuntime(17259): Caused by: java.lang.NullPointerException 02-15 22:12:03.712: E/AndroidRuntime(17259): at com.puzzleall.puzzleall.PuzzleAllActivity.onCreate(PuzzleAllActivity.java:71) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.Activity.performCreate(Activity.java:5267) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 02-15 22:12:03.712: E/AndroidRuntime(17259): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
Aprecio cualquier ayuda que pueda obtener 🙂
- Acceda a la impresora a través de Wifi desde el dispositivo Android
- Android cómo pasar un Activity.class como un argumento para una función
- Cómo importar la biblioteca ZXING en la aplicación Android?
- GSON: deserialización de objetos personalizados
- Adquisición del código de moneda de un país
- La ejecución de instrumentación falló debido a 'java.io.FileNotFoundException'
- Importaciones no resueltas de Google Drive
- Enviar y recibir sobre el mismo socket
La excepción NullPointer fue causada por diferentes archivos de diseño ("layout" y "layout-land").
La versión de Landscape tenía un archivo de diseño antiguo sin un DrawerLayout. Así que cuando se infla, tengo una excepción NullPointer cuando se refiere a la DrawerLayout.
- dirección o dirección no válida del bloque corrupto 0x7acd0bd0 pasado a dlfree
- Desplazamiento horizontal y vertical en android mediante matriz multidimensional