Android正在膨胀选项卡视图的视图
我想在我的应用程序中实现此功能,如下所示Android正在膨胀选项卡视图的视图,android,android-fragments,android-tabhost,actionbarsherlock,Android,Android Fragments,Android Tabhost,Actionbarsherlock,我想在我的应用程序中实现此功能,如下所示 带有操作栏和操作项的活动 操作栏下面的选项卡 每个选项卡都有内容 我使用Tab片段和TablListener来编写代码。现在,当我运行该应用程序时,我将获得选项卡视图,但视图寻呼机和指示器丢失。我正在进行如下所示的活动。 我的代码如下所示 TabViewActivity.java public class TabViewActivity extends SherlockFragmentActivity { public void onCreat
public class TabViewActivity extends SherlockFragmentActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
copyPrivateRawResuorceToPubliclyAccessibleFile();
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// add tabs
Tab tab1 = actionBar
.newTab()
.setText("Details")
.setTabListener(
new TabListener<TabFragment>(this, "tab1",
TabFragment.class));
actionBar.addTab(tab1);
Tab tab2 = actionBar
.newTab()
.setText("Maps")
.setTabListener(
new TabListener<TabFragment>(this, "tab2",
TabFragment.class));
actionBar.addTab(tab2);
// check if there is a saved state to select active tab
if (savedInstanceState != null) {
getSupportActionBar().setSelectedNavigationItem(
savedInstanceState.getInt(ACTIVE_TAB));
}
}
我为每个选项卡单击两个不同的类,分别命名为details.java和maps.java。
请帮我把代码放在哪里。
我还实现了视图寻呼机。这是“详细信息”选项卡的“我的查看寻呼机代码”
DetailsActivity.java
public class DetailsActivity extends BaseSampleActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.place_details_layout);
mAdapter = new TestFragmentAdapter(getSupportFragmentManager());
mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mIndicator = (CirclePageIndicator)findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
}
}
public abstract class BaseSampleActivity extends FragmentActivity {
private static final Random RANDOM = new Random();
TestFragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
//FragmentTabHost mTabHost;
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.random:
final int page = RANDOM.nextInt(mAdapter.getCount());
Toast.makeText(this, "Changing to page " + page, Toast.LENGTH_SHORT);
mPager.setCurrentItem(page);
return true;
case R.id.add_page:
if (mAdapter.getCount() < 10) {
mAdapter.setCount(mAdapter.getCount() + 1);
mIndicator.notifyDataSetChanged();
}
return true;
case R.id.remove_page:
if (mAdapter.getCount() > 1) {
mAdapter.setCount(mAdapter.getCount() - 1);
mIndicator.notifyDataSetChanged();
}
return true;
}
return super.onOptionsItemSelected(item);
}
}
BaseSampleActivity.java
public class DetailsActivity extends BaseSampleActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.place_details_layout);
mAdapter = new TestFragmentAdapter(getSupportFragmentManager());
mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mIndicator = (CirclePageIndicator)findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
}
}
public abstract class BaseSampleActivity extends FragmentActivity {
private static final Random RANDOM = new Random();
TestFragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
//FragmentTabHost mTabHost;
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.random:
final int page = RANDOM.nextInt(mAdapter.getCount());
Toast.makeText(this, "Changing to page " + page, Toast.LENGTH_SHORT);
mPager.setCurrentItem(page);
return true;
case R.id.add_page:
if (mAdapter.getCount() < 10) {
mAdapter.setCount(mAdapter.getCount() + 1);
mIndicator.notifyDataSetChanged();
}
return true;
case R.id.remove_page:
if (mAdapter.getCount() > 1) {
mAdapter.setCount(mAdapter.getCount() - 1);
mIndicator.notifyDataSetChanged();
}
return true;
}
return super.onOptionsItemSelected(item);
}
}
公共抽象类BaseSampleActivity扩展了FragmentActivity{
私有静态最终随机=新随机();
测试碎片适配器;
可视寻呼机;
页面指示器指示器;
//碎片表位主机;
@凌驾
公共布尔onCreateOptions菜单(菜单)
{
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例R.id.random:
final int page=RANDOM.nextInt(mAdapter.getCount());
Toast.makeText(此“更改为页面”+页面,Toast.LENGTH\u SHORT);
mPager.setCurrentItem(第页);
返回true;
案例R.id.add_页面:
if(mAdapter.getCount()<10){
mAdapter.setCount(mAdapter.getCount()+1);
mIndicator.notifyDataSetChanged();
}
返回true;
案例R.id.remove_页面:
if(mAdapter.getCount()>1){
mAdapter.setCount(mAdapter.getCount()-1);
mIndicator.notifyDataSetChanged();
}
返回true;
}
返回super.onOptionsItemSelected(项目);
}
}
我没有看到任何关于查看页面的代码,请查看Jake Wharton的示例代码谢谢您的回复。我还实现了查看页面。我已经编辑了我的问题,你可以找到查看寻呼机代码。请指导如何前进。