studio how example bottom bar aurelhubert ahbottomnavigation android tabs fragment

how - tabs bottom android example



Android Adding Tab dentro de Fragment (4)

Estoy intentando agregar un TabHost dentro de un fragmento ... El código se da a continuación. Aquí dentro del fragmento estoy intentando añadir TabHost para mostrar dos pestañas

public class TablesFragment extends Fragment { TabHost tabHost; TabHost.TabSpec spec; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.tables_fragment, container, false); tabHost = (TabHost) rootView.findViewById(android.R.id.tabhost); tabHost.setup(); Intent intentAndroid = new Intent().setClass(getActivity(), NewsFragment.class); spec = tabHost.newTabSpec("Android").setContent(intentAndroid) .setIndicator("Android"); tabHost.addTab(spec); Intent intentBus = new Intent().setClass(getActivity(), NewsFragment.class); spec = tabHost.newTabSpec("Welcome").setIndicator("Welcome") .setContent(intentBus).setIndicator("Welcome"); tabHost.addTab(spec); return rootView; }

}

Esto me está dando un error ... Necesita ayudante con este código ...

LogCat:

01-26 16:21:27.092: E/AndroidRuntime(5597): FATAL EXCEPTION: main 01-26 16:21:27.092: E/AndroidRuntime(5597): java.lang.IllegalStateException: Did you forget to call ''public void setup(LocalActivityManager activityGroup)''? 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:692) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.widget.TabHost.setCurrentTab(TabHost.java:358) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.widget.TabHost.addTab(TabHost.java:236) 01-26 16:21:27.092: E/AndroidRuntime(5597): at com.fifaworldcup2014.TablesFragment.onCreateView(TablesFragment.java:31) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472) 01-26 16:21:27.092: E/AndroidRuntime(5597): at com.fifaworldcup2014.MainActivity.onTabChanged(MainActivity.java:164) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:391) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.widget.TabHost.setCurrentTab(TabHost.java:376) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:150) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.view.View.performClick(View.java:4084) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.view.View$PerformClick.run(View.java:16966) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.os.Handler.handleCallback(Handler.java:615) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.os.Handler.dispatchMessage(Handler.java:92) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.os.Looper.loop(Looper.java:137) 01-26 16:21:27.092: E/AndroidRuntime(5597): at android.app.ActivityThread.main(ActivityThread.java:4745) 01-26 16:21:27.092: E/AndroidRuntime(5597): at java.lang.reflect.Method.invokeNative(Native Method) 01-26 16:21:27.092: E/AndroidRuntime(5597): at java.lang.reflect.Method.invoke(Method.java:511) 01-26 16:21:27.092: E/AndroidRuntime(5597): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 01-26 16:21:27.092: E/AndroidRuntime(5597): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 01-26 16:21:27.092: E/AndroidRuntime(5597): at dalvik.system.NativeStart.main(Native Method)


Creo que esto podría funcionar para usted, si tiene como objetivo API17 +. Si no, debería echar un vistazo a ViewContainers y vistas que se pueden deslizar .

import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTabHost; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class TabHostParentFragment extends Fragment { private FragmentTabHost tabHost; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { tabHost = new FragmentTabHost(getActivity()); tabHost.setup(getActivity(), getChildFragmentManager(), R.layout.my_parent_fragment); Bundle arg1 = new Bundle(); arg1.putInt("Arg for Frag1", 1); tabHost.addTab(tabHost.newTabSpec("Tab1").setIndicator("Frag Tab1"), NewsFragment.class, arg1); Bundle arg2 = new Bundle(); arg2.putInt("Arg for Frag2", 2); tabHost.addTab(tabHost.newTabSpec("Tab2").setIndicator("Frag Tab2"), MyNestedFragment2.class, arg2); return tabHost; }


checkout debajo del código definitivamente lo ayudará si todavía está buscando una respuesta y funcionará en API 11 para la versión anterior

import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AnalogClock; import android.widget.TabHost; public class TabFragment extends Fragment { private TabHost mTabHost; View rootView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.tabinterview, container, false); mTabHost = (TabHost) rootView.findViewById(R.id.tabhost); mTabHost.setup(); TabHost.TabSpec spec = mTabHost.newTabSpec("tag"); spec.setIndicator("Android"); spec.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { // TODO Auto-generated method stub return (new AnalogClock(getActivity())); } }); mTabHost.addTab(spec); spec = mTabHost.newTabSpec("tag1"); spec.setIndicator("java"); spec.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { // TODO Auto-generated method stub return (new AnalogClock(getActivity())); } }); mTabHost.addTab(spec); spec = mTabHost.newTabSpec("tag2"); spec.setIndicator("Favourate"); spec.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { // TODO Auto-generated method stub return (new AnalogClock(getActivity())); } }); mTabHost.addTab(spec); return rootView; } }


import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AnalogClock; import android.widget.TabHost; public class TabFragment extends Fragment { private TabHost mTabHost; View rootView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.tabinterview, container, false); mTabHost = (TabHost) rootView.findViewById(R.id.tabhost); mTabHost.setup(); TabHost.TabSpec spec = mTabHost.newTabSpec("tag"); spec.setIndicator("Android"); spec.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { // TODO Auto-generated method stub return (new AnalogClock(getActivity())); } }); mTabHost.addTab(spec); spec = mTabHost.newTabSpec("tag1"); spec.setIndicator("java"); spec.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { // TODO Auto-generated method stub return (new AnalogClock(getActivity())); } }); mTabHost.addTab(spec); spec = mTabHost.newTabSpec("tag2"); spec.setIndicator("Favourate"); spec.setContent(new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { // TODO Auto-generated method stub return (new AnalogClock(getActivity())); } }); mTabHost.addTab(spec); return rootView; } } this code how to give Page Link


En caso de que use: https://.com/a/34224495/1386969

Asegúrese de que el diseño se vea como sigue:

<FrameLayout 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" tools:context=".view.user.DetailsFragment"> <TabHost android:id="@+id/tabhost" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TabWidget android:id="@android:id/tabs" android:layout_height="wrap_content" android:layout_width="fill_parent"> </TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_height="fill_parent" android:layout_width="fill_parent"> </FrameLayout> </TabHost>