大家好我面临一个奇怪的问题.我添加Navigation View了我Activity的默认情况下,每当我启动应用程序时,第一个导航项目选择了一些背景颜色.
我想删除此功能.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
}
Run Code Online (Sandbox Code Playgroud)
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( …Run Code Online (Sandbox Code Playgroud) 我正在为我的抽屉使用NavigationView.这是menus.xml文件,它定义了抽屉的所有菜单项:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/item_1"
android:title="Item 1"
android:checked="true" />
<item
android:id="@+id/item_2"
android:title="Item 2" />
<item
android:id="@+id/item_3"
android:title="Item 3" />
<item
android:id="@+id/item_4"
android:title="Item 4" />
<item android:title="List 1">
<menu>
<item
android:id="@+id/subitem_1"
android:title="SubItem 1" />
<item
android:id="@+id/subitem_2"
android:title="SubItem 2" />
</menu>
</item>
<item android:title="List 2">
<menu>
<item
android:id="@+id/subitem_3"
android:title="SubItem 3" />
<item
android:id="@+id/subitem_4"
android:title="SubItem 4" />
</menu>
</item>
</group>
</menu>
Run Code Online (Sandbox Code Playgroud)
事情是当我在子菜单项上调用setChecked(true)时,它不会突出显示.
因此,如果我在子菜单项上强制使用属性android:checkable ="true",则需要两次单击才能突出显示该属性.此外,如您所见,项目1突出显示,checkableBehaviour设置为单一.在这种情况下,子菜单和第一个项目仍然突出显示.为什么在运行setChecked(true)时子菜单没有突出显示?