Android选项卡布局如何从第二个选项卡开始(Android Tab Layout how to start from the second tab)
嗨,我正在关注这个问题http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/
我希望应用程序以“游戏”标签开头而不是“评分最高”!,你可以帮助我:)
这是我的代码
package com.scorebeyond.android.tabswithswipeexample; import com.scorebeyond.android.tabswithswipeexample.adapter.TabsPagerAdapter; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.ActionBar.TabListener; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; import android.view.Menu; public class MainActivity extends FragmentActivity implements TabListener { private ViewPager viewPager; private TabsPagerAdapter mAdapter; private ActionBar actionBar; // Tab Titles private String[] tabs = { "Top Rated", "Games", "Movies" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialize viewPager = (ViewPager) findViewById(R.id.pager); viewPager.setCurrentItem(-1); actionBar = getActionBar(); mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(mAdapter); actionBar.setHomeButtonEnabled(false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // Adding Tabs for (String tab_name : tabs) { actionBar.addTab(actionBar.newTab().setText(tab_name) .setTabListener(this)); } viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // on changing the page // make respected tab selected actionBar.setSelectedNavigationItem(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { // On tab selected // show respected fragment view viewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } }
多谢
Hi I am following this tut http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/
and I want the App to start with "Games" Tab not the "Top Rated" !, can u plz help me in this :)
here is my code
package com.scorebeyond.android.tabswithswipeexample; import com.scorebeyond.android.tabswithswipeexample.adapter.TabsPagerAdapter; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.ActionBar.TabListener; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; import android.view.Menu; public class MainActivity extends FragmentActivity implements TabListener { private ViewPager viewPager; private TabsPagerAdapter mAdapter; private ActionBar actionBar; // Tab Titles private String[] tabs = { "Top Rated", "Games", "Movies" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialize viewPager = (ViewPager) findViewById(R.id.pager); viewPager.setCurrentItem(-1); actionBar = getActionBar(); mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(mAdapter); actionBar.setHomeButtonEnabled(false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // Adding Tabs for (String tab_name : tabs) { actionBar.addTab(actionBar.newTab().setText(tab_name) .setTabListener(this)); } viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // on changing the page // make respected tab selected actionBar.setSelectedNavigationItem(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { // On tab selected // show respected fragment view viewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } }
thx alot
原文:https://stackoverflow.com/questions/24041293
最满意答案
您可以将
listNameAge
每个项目取出,然后在'_'
上进行split
,获取拆分的第一部分,然后使用index
在第二个列表中找到它。>>> [listName.index(i.split('_')[0]) for i in listNameAge] [2, 0, 3, 1, 2, 0, 1, 3, 2, 0, 1]
You can take each item in
listNameAge
, thensplit
on'_'
, get the first part of the split, then useindex
to find it in the second list.>>> [listName.index(i.split('_')[0]) for i in listNameAge] [2, 0, 3, 1, 2, 0, 1, 3, 2, 0, 1]
相关问答
更多-
TCP/IP模型是一个________。[2023-05-19]
a -
下列中不属于面向对象的编程语言的是?[2022-05-30]
a -
您正在寻找的是or功能: my_filter divisors = filter (\x -> or $ map ((0 ==) . (x `mod`)) divisors) 如果你想过滤所有值都是除数的地方那么你只需要改变or and 。 另一种方法是 my_filter divisors = filter (\x -> any (== 0) $ map (x `mod`) divisors) 这些是等效的功能,只是一点点不同的风格。 What you're looking for is the or ...
-
你可以像这样设置一个词法比较器 : lexComp[_, {}] := False; lexComp[{}, _] := True; lexComp[{a_, as___}, {b_, bs___}] := a < b || a == b && lexComp[{as}, {bs}]; 然后您可以使用它进行排序以获得所需的效果: Sort[{{0, 0, 7}, {5, 0, 2, 3}, {0, 0, 10, 0}, {0, 6, 2}, {5, 1, 2}, {0, 3, 6, 1, 4}}, lex ...
-
您可以将listNameAge每个项目取出,然后在'_'上进行split ,获取拆分的第一部分,然后使用index在第二个列表中找到它。 >>> [listName.index(i.split('_')[0]) for i in listNameAge] [2, 0, 3, 1, 2, 0, 1, 3, 2, 0, 1] You can take each item in listNameAge, then split on '_', get the first part of the split, th ...
-
您可以使用Python的列表推导语法 : new_list = [_ for _ in list if 'ranbuck' in _] 您也可以在列表推导中为临时变量引入自己的变量名,而不是_s。 而不是'ranbuck' in _你也可以写下另一个条件,列表中的这个元素是否应该在新元素中。 You could use the list comprehension syntax of Python: new_list = [_ for _ in list if 'ranbuck' in _] Inste ...
-
使用Enumerable.Join和OrderByDescending : var models = from maker in lstMakers join model in lstModel on maker equals model.Make select model; List
result = models .Select(m => int.Parse(m.ID) + 1) .OrderByDe ... -
您可以使用IntStream生成索引,然后filter以获取过滤的索引,并使用mapToObj来获取相应的对象: List
-
这听起来像你想要一个' rstrip()列表'。 您可以将.pop()与while循环一起使用: while somelist and somelist[-1][1] == 0: somelist.pop() 这改变了名单。 要创建一个副本,您必须首先找到一个切片终点,然后切片到该点以进行快速复制: end = len(somelist) while end and somelist[end - 1][1] == 0: end -= 1 newlist = somelist[:end] ...
-
通过查看第二个列表中的布尔值来过滤一个列表的元素(Filtering elements of one list by looking at boolean values from the second list)[2023-11-09]
不是真的。 最干净的方法可能是 List.map (fn (x,y) => x) (List.filter (fn (x,y) => y) (ListPair.zip (L1,L2))) 要么 List.map Option.valOf (List.filter Option.isSome (ListPair.map(fn (x,y) => if y then SOME x else NONE) (L1,L2))) 递归函数也不错,: fun foo ([],[]) = [] | foo ([],L ...