当前位置: 首页 > 知识库问答 >
问题:

ActionBarDrawerToggle不接受字符串作为参数

都乐逸
2023-03-14

红线位于“打开导航抽屉”和“关闭导航抽屉”下

import androidx.appcompat.app.ActionBarDrawerToggle;
setContentView(R.layout.activity_home);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setTitle("Menu");
    setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toogle = new ActionBarDrawerToggle(this,
                drawer,
                toolbar ,
                "Open navigation drawer",
                "Close navigation drawer"

                );
        drawer.setDrawerListener(toogle);
        toogle.syncState();

这张图片显示了这个问题

共有2个答案

时向文
2023-03-14

根据Android官方文档,OpenDroperContentDescres和CloseDroperContentDescres属于int数据类型。

ActionBarDrawerToggle (Activity activity, 
            DrawerLayout drawerLayout, 
            int openDrawerContentDescRes, 
            int closeDrawerContentDescRes)

因此,您需要将字符串更改为字符串资源id(R.string.your_string),以描述“打开抽屉”和“关闭抽屉”操作的可访问性。

姜楷
2023-03-14

如果您检查构造函数签名,可以看到它接受字符串资源,int,而不是string

public ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout,
        Toolbar toolbar, @StringRes int openDrawerContentDescRes,
        @StringRes int closeDrawerContentDescRes) {
    this(activity, toolbar, drawerLayout, null, openDrawerContentDescRes,
            closeDrawerContentDescRes);
}

您需要将String更改为字符串资源,例如R.String。位于字符串中的_字符串。xml文件

 类似资料:
  • 我正在尝试使用查询字符串参数调用我的 Azure 代理函数。我不想将我的参数作为路由参数传递,我想使用查询字符串参数来做到这一点,以免破坏我当前的合同。 我的网址如下< code>https:/ 然后我有一些工作正常的静态请求覆盖参数。 最后,我将api称为< code>https:/ 在我的proxies.json中,我有 这似乎是我想要做的唯一方法,但我的回答总是“查询参数丢失或为空”(请注意

  • 但是在scala中我需要使用: scala版本是有意义的,因为注释需要一个字符串数组。但是为什么上面的工作在java中,它不应该给出编译时错误吗? 下面的类'ArrayChecker'(我编写了一个类来说明这一点)会导致java编译时错误:

  • 我的脚本将,作为参数: 但当我将它作为分隔符传递时,它是空的 我知道在参数/参数解析中很特殊,但我以和引用的形式使用它。 为什么它不起作用?我使用的是Python 3.7.3 这是测试代码: 当我运行它作为它打印空。

  • 任何人都可以帮我解决这个问题。我接受三个输入:整数、双精度和字符串,但Scanner类不接受字符串值

  • 当我尝试对输入进行限制时,我在java中遇到了很多麻烦。在此示例中,我需要字符串代码仅接受和等符号。我如何检查以确保没有数字、字母或其他符号?谢谢