【问题标题】:java.lang.IllegalArgumentException: due to android.support.v4.widget.DrawerLayout.openDrawer on Redmi devicesjava.lang.IllegalArgumentException:由于 Redmi 设备上的 android.support.v4.widget.DrawerLayout.openDrawer
【发布时间】:2018-08-06 11:36:39
【问题描述】:

我有一个带有菜单图标的工具栏,并且我已经点击了打开左侧抽屉的菜单。

我已经在多台设备上进行了测试,没有任何问题。但在 Play Store 上,我看到因此而崩溃。 Redmi Note 4 和 5 上受影响的设备。

下面的完整日志。

java.lang.IllegalArgumentException: 
at android.support.v4.widget.DrawerLayout.openDrawer (DrawerLayout.java:1618)
  at gamesmint.com.jsone.NewLayoutActivity$1.onClick (NewLayoutActivity.java:199)
  at android.view.View.performClick (View.java:6304)
  at android.view.View$PerformClick.run (View.java:24803)
  at android.os.Handler.handleCallback (Handler.java:790)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6600)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:518)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:821)

【问题讨论】:

  • 红米 Note 4 和 5 运行的 Android 版本是什么?你有更多的代码可以给我们看吗?你能告诉我们NewLayoutActivity 中的代码#199 行和周围的代码吗?
  • Android 版本为 7 和 8.1。代码 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(工具栏); getSupportActionBar().setDisplayShowTitleEnabled(false);toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 执行任何你想要的返回箭头单击 mDrawerLayout.openDrawer(Gravity.LEFT); } });

标签: android


【解决方案1】:

如果错误是

java.lang.IllegalArgumentException: 没有找到重力向左的抽屉视图

你可以试试这样:

DrawerLayout 的 childview 必须有任意一个属性集 android:layout_gravity="start"android:layout_gravity="left"。如果您设置了leftright,则可以将它们替换为startend

希望您下次可以向我们展示代码。

【讨论】:

猜你喜欢
  • 2017-04-18
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 2019-02-12
  • 2020-05-10
  • 2019-11-19
相关资源
最近更新 更多