android.support.design.widget.TabLayout not showing tabs -
build.gradle
dependencies { compile filetree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:design:22.2.0' compile 'com.android.support:support-v4:22.2.0' }
activity_main.xml
<relativelayout 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=".mainactivity"> <android.support.design.widget.appbarlayout android:id="@+id/abl_top" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize"> <android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorprimary" /> <android.support.design.widget.tablayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.design.widget.appbarlayout> <android.support.v4.view.viewpager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/abl_top" /> </relativelayout>
mainactivity.java
import android.os.bundle; import android.support.design.widget.tablayout; import android.support.v4.app.fragment; import android.support.v4.app.fragmentmanager; import android.support.v4.app.fragmentpageradapter; import android.support.v4.view.viewpager; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.menu; import android.view.menuitem; public class mainactivity extends appcompatactivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar); tablayout tl = (tablayout) findviewbyid(r.id.tab_layout); viewpager viewpager = (viewpager) findviewbyid(r.id.pager); if (toolbar != null) { setsupportactionbar(toolbar); } //tl.addtab(tl.newtab().settext("tab 1")); //tl.addtab(tl.newtab().settext("tab 2")); viewpager.setadapter(new mypageradapter(getsupportfragmentmanager())); tl.setupwithviewpager(viewpager); } public class mypageradapter extends fragmentpageradapter { public mypageradapter(fragmentmanager fm) { super(fm); } @override public fragment getitem(int position) { switch (position) { case 0: return new fragmentone(); case 1: return new fragmentone(); default: return null; } } @override public int getcount() { return 2; } @override public charsequence getpagetitle(int position) { switch (position) { case 0: return "first tab"; case 1: return "second tab"; default: return "not found"; } } } }
fragmentone.java
import android.os.bundle; import android.support.v4.app.fragment; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.listview; public class fragmentone extends fragment { private final string tag = getclass().getsimplename(); private static final string murl = "http://goanuj.freeshell.org/txt2lrn/bollywood/box_office.json"; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { log.d(tag, "[oncreateview]"); final view v = inflater.inflate(r.layout.fragment_one, container, false); // setup listview listview lv = (listview) v.findviewbyid(r.id.lv_items); // defined array values show in listview string[] values = new string[] { "apple", "banana", "cherry", "dog", "earth", "farther", "grape", "horseradish", "ice cream", "janitor", "kangaroo","lemon" }; arrayadapter adapter = new arrayadapter(v.getcontext(), android.r.layout.simple_list_item_1, android.r.id.text1, values); lv.setadapter(adapter); return v; } }
the mistake in activity_main.xml
android:layout_height="?attr/actionbarsize" <!-- wrong -->
the best way have found fix far is
android:layout_height="wrap_content" <!-- right -->
Comments
Post a Comment