gpt4 book ai didi

android - 如何阻止微调器自动选择一个选项?

转载 作者:行者123 更新时间:2023-11-29 18:00:15 27 4
gpt4 key购买 nike

我正在执行的应用程序中有一个微调器,当它转到 OnItemSelcted 时,它会自动选择第一个选项,我如何以简单的方式停止它?

 spinner2.setOnItemSelectedListener(new OnItemSelectedListener(){


@Override
public void onItemSelected(AdapterView<?> parent,
View view,
int pos, long id) {

最佳答案

这个问题已经在 SO 和其他地方被问过很多次了。例如:

onNavigationItemSelected in ActionBar is being called at startup how can avoid it?

Infinite loop when using onNavigationItemSelected and invalidateOptionsMenu

Activity loop using onNavigationItemSelected on an ActionBar

一些答案​​和评论建议忽略(一些)回调。这适用于非常简单的用途,但它忽略了一个事实,即大多数问这个问题的人想要一个菜单,而不是列表模式下标准 ActionBar 提供的基于微调器的类似选项卡的导航。一些评论建议使用 PopupMenu,但我没有看到提供详细信息。所以这是要做的:

  1. 创建将显示在 ActionBar 中且用户将在其上单击以查看菜单的 View :

    View view = this.getLayoutInflater().inflate(R.layout.actionbar_view, null);
  2. 创建一个锚定到该 View 的 PopupMenu:

    PopupMenu popup = new PopupMenu(this, view);
    popup.getMenuInflater().inflate(R.menu.actionbar_menu, popup.getMenu());
  3. OnClickListener 添加到显示 PopupMenu 的 View :

    view.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    popup.show();
    }
    });
  4. OnMenuItemClickListener 添加到 PopupMenu 以在用户从菜单中选择时接收通知:

    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem item) {
    Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();
    return true;
    }
    });
  5. 最后,使用以下命令在您的 Activity 中配置 ActionBar:

    ActionBar ab = this.getActionBar();
    ab.setCustomView(view);
    ab.setDisplayShowCustomEnabled(true);
    ab.setDisplayShowTitleEnabled(false);

一个评论是让主视图的样式与默认的 ActionBar 相匹配可能有点棘手。尝试调查以下样式资源:

@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title
@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title.Inverse
@android:style/TextAppearance.Holo.Widget.ActionBar.Title
@android:style/TextAppearance.Holo.Widget.ActionBar.Title.Inverse

否则你至少需要正确的颜色和文字大小可能是中等。 View 本身显然应该 fill_parent 并且具有 center_vertical 引力。

'Nuff 说。

关于android - 如何阻止微调器自动选择一个选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16563307/

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