the Red line is under "Open navigation drawer" and "Close navigation drawer"
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();
This picture shows the problem
CodePudding user response:
If you check constructor signature as you can see it accepts string resource, int
, not String
public ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout,
Toolbar toolbar, @StringRes int openDrawerContentDescRes,
@StringRes int closeDrawerContentDescRes) {
this(activity, toolbar, drawerLayout, null, openDrawerContentDescRes,
closeDrawerContentDescRes);
}
You need to change both from String
to string resource such as R.string.YOUR_STRING
that located in strings.xml file.
CodePudding user response:
According to Android official docs openDrawerContentDescRes and closeDrawerContentDescRes are of int datatype.
ActionBarDrawerToggle (Activity activity,
DrawerLayout drawerLayout,
int openDrawerContentDescRes,
int closeDrawerContentDescRes)
So you need to change your string to string resource id ( R.string.YOUR_STRING
) to describe the "open drawer" and "close drawer" action for accessibility.