gpt4 book ai didi

android - Android Studio 中的选项卡式 Activity 模板不适用于 Lollipop

转载 作者:太空狗 更新时间:2023-10-29 14:59:06 28 4
gpt4 key购买 nike

我正在运行 Android Studio 1.1.0。

我使用 Android Studio 向导创建了一个新项目并选择了 MinimumSDK:API 15 和选项卡式 Activity 。

目标 SDK 自动设置为 API 21。

当我在 Genymotion Nexus 5、API19 (4.4.4) 模拟器上运行这个项目(没有修改)时,一切看起来都符合预期。

当我在 Genymotion Nexus 6 API21 (5.0.0) 模拟器上运行这个项目(没有修改)时,我只得到一个空白屏幕。

这是在MainActivity中生成的onCreate

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

// Set up the action bar.
final ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);

// When swiping between different sections, select the corresponding
// tab. We can also use ActionBar.Tab#select() to do this if we have
// a reference to the Tab.
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});

// For each of the sections in the app, add a tab to the action bar.
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
// Create a tab with text corresponding to the page title defined by
// the adapter. Also specify this Activity object, which implements
// the TabListener interface, as the callback (listener) for when
// this tab is selected.
actionBar.addTab(
actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
}

Android Studio 告诉我

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

actionBar.setSelectedNavigationItem(position);

actionBar.addTab(
actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));

已弃用,这可以解释为什么它们在我的 API21 设备中不起作用。

我如何更改这些已弃用的方法以在 API21 上工作并且仍然在

Android Studio 的模板不适用于最新的 API,我感到很沮丧。

最佳答案

Tl;dr 此行为在多次运行后仍然存在,但在删除并重新创建模拟器后现在可以正常工作

我实现了 CommonsWare 在 this bug 中引用的代码并且仍然看到空白屏幕。

我在我的代码中放置了一个断点,Genymotion Lollipop 模拟器锁定了。我无法成功重启它。

我删除了模拟器并重新安装,现在修改后的代码可以运行了。

为了验证,我像以前一样创建了一个新项目,它也适用于新创建的 Lollipop 模拟器。

令我沮丧的是,我无法复制我看到的原始错误。

关于android - Android Studio 中的选项卡式 Activity 模板不适用于 Lollipop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28705637/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com