Android Cambio de un diseño normal a un error de diseño de tabulación en los botones de imagen y otros?

Lo seguí para crear una emisión de radio de Android

Por ahí está funcionando bien Así que estoy tratando de añadir un tab-layout a este

Así que seguí esto para agregar el diseño de la pestaña

Allí he agregado pero tengo mucho error así que he cambiado algunos como

DE

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); 

A esto

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View viewRoot = inflater.inflate(R.layout.main_activity, container, false); 

Y agregó viewRoot.findViewById en algunos lugares en on-create pero después en crear lo que nunca hay que he dado como getActivity().findViewById

Porque he dado return viewRoot; En onCreate no es posible

Ahora estoy recibiendo errores en play.setBackground(getResources().getDrawable(R.drawable.volume0));

Me gusta

  java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setBackground(android.graphics.drawable.Drawable)' on a null object reference at star.yx.tabview.ProfileFragment.updatePlayStatus(ProfileFragment.java:370) at star.yx.tabview.ProfileFragment.setIFace(ProfileFragment.java:205) at star.yx.tabview.ProfileFragment.onCreateView(ProfileFragment.java:158) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298) at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136) at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092) at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1969) at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:620) at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143) at android.support.v4.view.ViewPager.populate(ViewPager.java:1268) at android.support.v4.view.ViewPager.populate(ViewPager.java:1116) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642) at android.view.View.measure(View.java:18596) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:464) at android.view.View.measure(View.java:18596) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139) at android.view.View.measure(View.java:18596) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:393) at android.view.View.measure(View.java:18596) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:18596) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435) at android.widget.LinearLayout.measureVertical(LinearLayout.java:721) at android.widget.LinearLayout.onMeasure(LinearLayout.java:612) at android.view.View.measure(View.java:18596) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2897) at android.view.View.measure(View.java:18596) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2248) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1306) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1548) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1191) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6642) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777) at android.view.Choreographer.doCallbacks(Choreographer.java:590) at android.view.Choreographer.doFrame(Choreographer.java:560) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5951) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 

He agregado mi código en ProfileFragment para fines de prueba ….

¿Puede alguien Sugerirme Cómo utilizar Mi actividad En fragmentos como mi ejemplo de diseño de mesa Por favor, me sugieren en este tipo

Actualizar

Todo lo que estoy tratando.

Sólo estoy usando mi diseño de radio en un diseño de tableta Así que en una sola pestaña puedo reproducir la radio en otros que puedo utilizar algún otro. Pero aquí mi servicio de radio no está en fragmento / disposición de la lengüeta Así que estoy consiguiendo Muchos de errores ¿Puede cualquier persona sugerirme Cómo agregar Tab-disposición a mi actividad de radio Seguí mi tutoriales del androide pero intenté y cansado Por favor me ayude Cómo utilizar Esos dos ejemplos en uno …

Porque

En onResume está llamando setIFace() método setIFace() que activa updatePlayStatus método updatePlayStatus .

Si miras el método updatePlayStatus verás que hay una reproducción ImageView que está asignada a ver con ID icon_play

 private void updatePlayStatus() { ImageView play = (ImageView) findViewById(R.id.icon_play); if ("stop".equals(etat_lecture) || "pause".equals(etat_lecture)) { play.setBackground(getDrawable(R.drawable.ic_equalizer0)); } else { play.setBackground(getDrawable(R.drawable.ic_equalizer)); } } 

Si Android no puede encontrar ninguna vista con ID = icon_play , Android lo asignará automáticamente a null . Más tarde usted está llamando play.setBackground , puesto que la variable del play es null en su caso, usted está consiguiendo la excepción del puntero nulo.

Solución

  • En primer lugar, compruebe si está utilizando el diseño correcto en su clase de fragmentos, es decir. Debe haber alguna vista con ID icon_play .
  • En segundo lugar, tratar de limpiar y construir el proyecto. Puede ocurrir debido a una clase de R.java generada incorrectamente
  • Lo más importante, use viewRoot.findViewById lugar de getActivity().findViewById , getActivity podría devolver null , o mejor utilizar ButterKnife para evitar todos aquellos que tienen una plantilla

El código de MainActivity estaba completo, lo he dividido en fragmentos

Introduzca aquí la descripción de la imagen Introduzca aquí la descripción de la imagen

Puedes echar un vistazo al código fuente de mi GitHub

https://github.com/hiteshsahu/Android-Radio

¿Puedes compartir tu código? Creo que deberías cambiar RadioActivity en RadioFragment, que se agregará a tablayout más simple.

  • ViewPager dentro de Fragmento no muestra a pesar de usar getChildFragmentManager () al construir FragmentPagerAdapter
  • GetActivity () había devuelto null cuando isDetached () había devuelto false
  • ¿Cómo iniciar el Fragmento de la Actividad?
  • Navegación posterior con Fragmentos / Barra de herramientas
  • El método add (int, Fragment, String) en el tipo FragmentTransaction no es aplicable para los argumentos (int, Fragment, String)
  • ActionItem perdido en la rotación de la pantalla
  • Cómo obtener una referencia a LocationManager dentro de un fragmento
  • Fragmento de Android se está destruyendo pero recibiendo onActivityResult
  • OnCreateView no se llama con Fragment en ViewPager
  • Cómo establecer ViewPager dentro de un fragmento
  • Android Fragment creó dos veces el cambio de orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.