gpt4 book ai didi

Android Activity - 从操作栏获取微调器

转载 作者:行者123 更新时间:2023-11-29 01:41:03 25 4
gpt4 key购买 nike

我使用 Android Studio 创建了一个新的 Activity,并选中了使用 Action Bar Spinner 的选项。在我的 Activity 代码中,我可以使用 getActionBar() 获取操作栏,但我不知道如何在操作栏中获取 Spinner 的实例,因为我需要设置所选项目在代码中。

谁能告诉我怎么做?

编辑:

代码如下(所有默认代码均由 Android Studio 生成)- 我需要在 onResume( ) 中访问 Spinner,我将添加它:

private static final String STATE_SELECTED_NAVIGATION_ITEM 
= "selected_navigation_item";

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

// Set up the action bar to show a dropdown list.
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

// Set up the dropdown list navigation in the action bar.
actionBar.setListNavigationCallbacks(
// Specify a SpinnerAdapter to populate the dropdown list.
new ArrayAdapter<String>(
actionBar.getThemedContext(),
android.R.layout.simple_list_item_1,
android.R.id.text1,
new String[] {
"Email Fragment",
"Browser Fragment",
}),
this);
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
// Restore the previously serialized current dropdown position.
if (savedInstanceState.containsKey(STATE_SELECTED_NAVIGATION_ITEM)) {
getActionBar().setSelectedNavigationItem(
savedInstanceState.getInt(STATE_SELECTED_NAVIGATION_ITEM));
}
}

@Override
public void onSaveInstanceState(Bundle outState) {
// Serialize the current dropdown position.
outState.putInt(STATE_SELECTED_NAVIGATION_ITEM,
getActionBar().getSelectedNavigationIndex());
}

最佳答案

你有没有按照这里的例子: http://developer.android.com/guide/topics/ui/actionbar.html#Dropdown

如果没有,请发布您的代码。

编辑:好的,在您的编辑中,问题是您正在为 Spinner 创建 ArrayAdapter 但没有将对象保留在任何地方。

您可以为您的类设置一个private ArrayAdapter mArrayAdapter,然后在您的 onCreate 中更改为:

// Set up the dropdown list navigation in the action bar.
mArrayAdapter = new ArrayAdapter<String>(
actionBar.getThemedContext(),
android.R.layout.simple_list_item_1,
android.R.id.text1,
new String[] {
"Email Fragment",
"Browser Fragment",
});

actionBar.setListNavigationCallbacks(
// Specify a SpinnerAdapter to populate the dropdown list.
mArrayAdapter, this);

然后您可以从您的 onResume 访问 mArrayAdapter 并在那里执行您需要的操作。尚未测试此代码,所以 YMMV,但如果它不起作用,则有助于查看它是如何失败的。

关于Android Activity - 从操作栏获取微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657440/

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