gpt4 book ai didi

android - ActionBarDrawerToggle 没有合适的构造函数可绘制

转载 作者:太空宇宙 更新时间:2023-11-03 11:28:06 25 4
gpt4 key购买 nike

我有简单的代码来创建简单的抽屉导航,但是当我为 ActionBarDrawerToggle 声明参数时,它说无法应用可绘制图标...

Gradle 按摩构建

Error:(36, 26) error: no suitable constructor found for     
ActionBarDrawerToggle(MainActivity,DrawerLayout,int,int,int)
constructor ActionBarDrawerToggle.ActionBarDrawerToggle(Activity,DrawerLayout,Toolbar,int,int) is
not applicable
(argument mismatch; int cannot be converted to Toolbar)
constructor ActionBarDrawerToggle.
<T>ActionBarDrawerToggle(Activity,Toolbar,DrawerLayout,T,int,int) is not applicable
(cannot infer type-variable(s) T
(actual and formal argument lists differ in length))
where T is a type-variable:
T extends Drawable,DrawerToggle declared in constructor
<T>ActionBarDrawerToggle(Activity,Toolbar,DrawerLayout,T,int,int)

我不知道我哪里做错了,我看到了support/v7/widget/ToolbarActionBarDrawerToggle但没有帮助

我已经喜欢了this questionthis

这是我的导入支持库

import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarDrawerToggle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

这是我的 Build.Gradle(module:app) 依赖项

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'
}

这是我的 ActionBarDrawerToggle 代码

drawerListener = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer,
R.string.drawer_open, R.string.drawer_close) {

@Override
public void onDrawerOpened(View drawerView) {
Toast.makeText(MainActivity.this, "Drawer Opened",
Toast.LENGTH_SHORT).show();
}

@Override
public void onDrawerClosed(View drawerView) {
Toast.makeText(MainActivity.this, "Drawer Closed",
Toast.LENGTH_SHORT).show();
}
};


drawerLayout.setDrawerListener(drawerListener);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

这是我的 Android Studio image

最佳答案

有两个 ActionBarDrawerToggle 类。 support.v4'ssupport.v7's .然后,很混杂,v7的构造方法和v4的不一样。

您可以简单地通过删除第三个参数 drawerImageRes 来修复它。

drawerListener = new ActionBarDrawerToggle(
this,
drawerLayout,
// R.drawable.ic_drawer, <== delete this argument
R.string.drawer_open,
R.string.drawer_close
) {

@Override
public void onDrawerOpened(View drawerView) {
Toast.makeText(MainActivity.this, "Drawer Opened",
Toast.LENGTH_SHORT).show();
}

@Override
public void onDrawerClosed(View drawerView) {
Toast.makeText(MainActivity.this, "Drawer Closed",
Toast.LENGTH_SHORT).show();
}
};

关于android - ActionBarDrawerToggle 没有合适的构造函数可绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27581764/

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