Android ActionBar siempre null

Tengo una actividad con un cajón de navegación que se mueve entre fragmentos. Nada especial.

Sin embargo lo que quiero es la barra de acción para aparecer en la parte superior de la actividad. El problema es que sigo obteniendo una nullpointerexception para la Actionbar .

He intentado respuestas de las siguientes páginas:

GetActionBar devuelve null

GetActionBar () devuelve Null (AppCompat-v7 21)

Ninguno de estos ha funcionado así que pensé que iba a presentar mi propia pregunta con mi propio código.

MainActivity.java

 package com.jampez.smalltalk; import com.jampez.smalltalk.fragments.HomeFragment; import com.jampez.smalltalk.fragments.MessageFragment; import com.jampez.smalltalk.fragments.PreferencesFragment; import com.jampez.smalltalk.fragments.SettingsFragment; import com.jampez.smalltalk.helper.SessionManager; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarDrawerToggle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends FragmentActivity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private String[] items; int selectedPosition; private SessionManager session; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().setTitle(""); // Session manager session = new SessionManager(getApplicationContext()); if (!session.isLoggedIn()) { // User is already logged in. Take him to main activity Intent intent = new Intent(MainActivity.this, LoginActivity.class); startActivity(intent); finish(); } items = getResources().getStringArray(R.array.menus); // Getting reference to the DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.drawer_list); /* Creating an ArrayAdapter to add items to mDrawerList */ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.drawer_list_item, items); mDrawerList.setAdapter(adapter); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open) { /* Called when drawer is closed */ public void onDrawerClosed(View view) { //Put your code here } /* Called when a drawer is opened */ public void onDrawerOpened(View drawerView) { //Put your code here } }; mDrawerLayout.setDrawerListener(mDrawerToggle); // Enabling Home button getActionBar().setHomeButtonEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true); // Setting item click listener for the listview mDrawerList mDrawerList.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { selectedPosition = position; /* Replace fragment content */ displayView(position); /* Closing the drawer */ mDrawerLayout.closeDrawer(mDrawerList); } }); /* Setting default fragment */ selectedPosition = 0; displayView(0); } private void displayView(int position) { // update the main content by replacing fragments android.app.Fragment fragment = null; Log.i("position", position+""); switch (position) { case 0: fragment = new HomeFragment(); break; case 1: fragment = new MessageFragment(); break; case 2: fragment = new PreferencesFragment(); break; case 3: fragment = new SettingsFragment(); break; case 4: Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); sendIntent.setType("text/plain"); startActivity(sendIntent); break; case 5: String url = "http://www.example.com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); break; default: break; } if (fragment != null) { android.app.FragmentManager fragmentManager = getFragmentManager(); android.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.content_frame, fragment); fragmentTransaction.commit(); // update selected item and title, then close the drawer mDrawerList.setItemChecked(position, true); mDrawerList.setSelection(position); //setTitle(navMenuTitles[position]); mDrawerLayout.closeDrawer(mDrawerList); } else { // error in creating fragment Log.e("MainActivity", "Error in creating fragment"); } } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mDrawerToggle.syncState(); } } 

Activity_main.xml

 <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" android:theme="@android:style/Theme.WithActionBar" > <!-- The main content view --> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- The navigation drawer list--> <ListView android:id="@+id/drawer_list" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#111" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout> 

InicioFragment.java

 package com.jampez.smalltalk.fragments; import com.jampez.smalltalk.R; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class HomeFragment extends Fragment { public HomeFragment(){} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_home, container, false); //getActivity().getActionBar().setTitle(R.string.home); return rootView; } } 

Fragment_home.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#e5e5e5" android:orientation="vertical" > <TextView android:id="@+id/home_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:layout_gravity="start|center_vertical" android:text="@string/home"/> </LinearLayout> 

Manifiesto de Android

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jampez.smalltalk" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- To auto-complete the email text field in the login form with the user's emails --> <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <application android:name=".app.AppController" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".LoginActivity" android:label="@string/app_name" android:windowSoftInputMode="adjustResize|stateHidden" > </activity> <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> </application> 

Styles.xml

 <resources> <!-- Base application theme, dependent on API level. This theme is replaced by AppBaseTheme from res/values-vXX/styles.xml on newer devices. --> <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <!-- Theme customizations available in newer API levels can go in res/values-vXX/styles.xml, while customizations related to backward-compatibility can go here. --> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:actionBarStyle">@style/MyActionBar</item> <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item> <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> </style> <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> <item name="spinBars">true</item> <item name="color">@color/white</item> </style> <style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow"> <item name="android:color">@color/white</item> </style> <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">#25a0da</item> </style> 

Salida Logcat

 11-08 19:17:38.618: E/AndroidRuntime(6347): FATAL EXCEPTION: main 11-08 19:17:38.618: E/AndroidRuntime(6347): Process: com.jampez.smalltalk, PID: 6347 11-08 19:17:38.618: E/AndroidRuntime(6347): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jampez.smalltalk/com.jampez.smalltalk.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setTitle(java.lang.CharSequence)' on a null object reference 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2658) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.ActivityThread.access$900(ActivityThread.java:172) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.os.Handler.dispatchMessage(Handler.java:102) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.os.Looper.loop(Looper.java:145) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.ActivityThread.main(ActivityThread.java:5832) 11-08 19:17:38.618: E/AndroidRuntime(6347): at java.lang.reflect.Method.invoke(Native Method) 11-08 19:17:38.618: E/AndroidRuntime(6347): at java.lang.reflect.Method.invoke(Method.java:372) 11-08 19:17:38.618: E/AndroidRuntime(6347): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 11-08 19:17:38.618: E/AndroidRuntime(6347): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 11-08 19:17:38.618: E/AndroidRuntime(6347): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setTitle(java.lang.CharSequence)' on a null object reference 11-08 19:17:38.618: E/AndroidRuntime(6347): at com.jampez.smalltalk.MainActivity.onCreate(MainActivity.java:37) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.Activity.performCreate(Activity.java:6221) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 11-08 19:17:38.618: E/AndroidRuntime(6347): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2611) 11-08 19:17:38.618: E/AndroidRuntime(6347): ... 10 more 

* Primero incluya esta dependencia en su archivo gradle

 compile 'com.android.support:appcompat-v7:22.2.0' 

* Debe extender su actividad a AppCompactActivity y comenzar a usar la barra de herramientas en lugar de ActionBar .

* Esta es la forma en que utiliza la barra de herramientas en su MainActivity

 public class MainActivity extends AppCompatActivity { private Toolbar mToolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayShowHomeEnabled(true); } } 

* Esta es la forma de agregar barra de herramientas en su activity_main.xml

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" local:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

* Su tema debe ser algo como este styles.xml

 <style name="MyMaterialTheme" parent="MyMaterialTheme.Base"> </style> <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> 

Asegúrese de agregar este nombre de estilo en el manifiesto para su aplicación.

* Será mejor si usas v4.app.Fragment en lugar de usar Fragment.

* Esto es cómo usted debe fijar el título de su clase del fragmento

 ((AppCompatActivity)getActivity()).getSupportActionBar().setTitle(R.string.home); 

Consulte este Tutorial claro que seguramente le ayudará a configurar el cajón de navegación de material.

Si desea comenzar rápidamente sin mucho dolor, entonces puede intentar integrar esta biblioteca de terceros.

Si no está recibiendo una ActionBar en absoluto, como visualmente, intente reescribir su actividad para que pueda utilizar AppCompatActivity. Este hilo sugiere utilizar ActionbarActivity en lugar de FragmentActivity. Dado que ActionbarActivity está obsoleto, AppCompatActivity debería funcionar correctamente.

Para la cuestión Nullpointer:
Siempre sea consistente con lo que está usando. Si decide utilizar AppCompat, asegúrese de que está ampliando AppCompatActivity. Compruebe todas las importaciones – puede que esté utilizando el fragmento normal en lugar de la versión de AppCompat.
Revisa tus estilos y asegúrate de usar los padres de AppCompat en lugar de los de holo. Eso también incluye tu barra de acción. En lugar de Widget.Holo.Light.ActionBar use parent="@style/Widget.AppCompat.Light.ActionBar" . Llame siempre a getSupportActionBar lugar de getActionBar() . A veces puede ser necesario getActivity() la Actividad que getActivity() con getActivity() en un Fragmento de AppCompatActivity para asegurarte de que consigues la correcta: ((AppCompatActivity)getActivity()).getSupportActionBar().setTitle(""); .

Dado que todavía se enfrentan a problemas, estoy mostrando mostrando ua demo con código completo usando el cajón Material de Heinrich Reimer rápidamente.

Pruebe esto creando un nuevo proyecto vacío de muestra,

Paso 1 : Añada esta dependencia

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.heinrichreimersoftware:material-drawer:2.2.0' } repositories { maven { url "https://jitpack.io" } } 

Paso 2 : Realizar un layout activity_main.xml

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:local="http://schemas.android.com/tools" android:id="@+id/drawerLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fitsSystemWindows="false"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:fitsSystemWindows="true" android:weightSum="1"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" local:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> <fragment android:layout_width="fill_parent" android:layout_height="fill_parent" android:name="test.myapplication.EmptyFragment" android:id="@+id/fragment" android:layout_gravity="center_horizontal" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/textView" android:layout_gravity="center_horizontal" /> </LinearLayout> <com.heinrichreimersoftware.materialdrawer.DrawerView android:id="@+id/drawer" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start"/> </android.support.v4.widget.DrawerLayout> 

Paso 3 : Código para su MainActivity.java

 package test.myapplication; import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import com.heinrichreimersoftware.materialdrawer.DrawerView; import com.heinrichreimersoftware.materialdrawer.structure.DrawerItem; import com.heinrichreimersoftware.materialdrawer.structure.DrawerProfile; public class MainActivity extends AppCompatActivity { private DrawerView drawer; private ActionBarDrawerToggle drawerToggle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setTitle("my app title"); final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); drawer = (DrawerView) findViewById(R.id.drawer); EmptyFragment fb2 = new EmptyFragment(); FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.fragment, fb2); ft.commit(); drawerToggle = new ActionBarDrawerToggle( this, drawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close //add these resource values in Strings.xml ) { public void onDrawerClosed(View view) { invalidateOptionsMenu(); } public void onDrawerOpened(View drawerView) { invalidateOptionsMenu(); } }; drawerLayout.setStatusBarBackgroundColor(getResources().getColor(R.color.colorPrimaryDark)); drawerLayout.setDrawerListener(drawerToggle); drawerLayout.closeDrawer(drawer); mymenu(); //Profile is optional, but is of use drawer.addProfile(new DrawerProfile() .setId(1) .setBackground(getResources().getDrawable(R.mipmap.ic_launcher)) .setName("Name") .setDescription("email") ); drawer.selectItem(1); drawer.setOnItemClickListener(new DrawerItem.OnItemClickListener() { @Override public void onClick(DrawerItem item, long id, int position) { drawer.selectItem(position); if (id == 1) { Home fb2 = new Home(); FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.fragment, fb2); ft.commit(); drawerLayout.closeDrawer(drawer); } if (id == 2) { //Add your next fragment here like for id == 1 } } }); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); drawerToggle.onConfigurationChanged(newConfig); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); drawerToggle.syncState(); } private void mymenu() { drawer.addItem(new DrawerItem() .setId(1) .setImage(getResources().getDrawable(R.mipmap.ic_launcher)) .setTextPrimary("Home item") .setTextSecondary("Home item description") ); drawer.addDivider(); drawer.addItem(new DrawerItem() .setId(2) .setImage(getResources().getDrawable(R.mipmap.ic_launcher)) .setTextPrimary("Next item") .setTextSecondary("next item description") ); } } 

Paso 4 : Añadir y vaciar fragmento, de modo que un fragmento no se superpone a otro, también puede evitar esto y más bien dar color de fondo a sus fragmentos.

 package test.myapplication; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class EmptyFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.empty, container, false); //Home fragment will be loaded on activity start. Home fb2 = new Home(); FragmentManager fm = getActivity().getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.fragment, fb2); ft.commit(); return rootView; } } 

Paso 5 : Fragmento de casa, Línea añadida aquí, que muestra cómo cambiar el título de fragmento

 package test.myapplication; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Home extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.empty, container, false); ((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("my home title"); return rootView; } } 

Paso 6 : reemplace su código styles.xml con este

 <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> </resources> 

Esperanza usted podrá funcionar rápidamente esto, y también lo entiende bien y lo modifica para requisitos particulares la manera que usted quiere.

Ok, así que ninguna de las respuestas publicadas me han dado mucho éxito. Sin embargo, he conseguido obtener la barra de acción se muestra, pero con una funcionalidad algo limitada.

Lo primero que hice fue reemplazar la librería appcompat_v7 con android-support-v7-appcompat . Hacer esto me permite llamar a la barra de acción utilizando getActionBar() .

La limitación viene con tratar de controlar aspectos de la barra de acción. Puedo fijar el título y el icono fino pero si intento utilizar ActionBarDrawerToggle consigo una ActionBarDrawerToggle NullPointerException . También noté que tocar en la barra de acción no hace nada cuando normalmente se abre el cajón.

¿Has intentado poner getWindow().requestFeature(Window.FEATURE_ACTION_BAR); En su método onCreate() ? Me ayudó una vez. También intenta cambiar el tema a Holo

  • ¿Por qué no Fragment retener el estado cuando se gira la pantalla?
  • Android findFragmentByTag devuelve null al depurar
  • ¿Cómo separar fragmentos a diferentes archivos en android studio?
  • En una actividad tabulada con ViewPager, el ListView aparece cortado desde la parte inferior
  • Cómo controlar páginas de páginas de vista desde otra página
  • RequestCode incorrecto en onActivityResult
  • Fragmento de actualización de Android ViewPager
  • Fragmento en TabLayout sólo carga cuando el usuario desliza Android
  • Android Studio no puede resolver las importaciones de fragmentActivity y ViewPager
  • AddToBackStack () no funciona
  • Intenta invocar el método virtual 'java.lang.String android.content.Context.getPackageName ()' en una referencia de objeto nulo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.