- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个具有抽屉导航的应用程序。首先它正在工作,但是当我编辑工具栏的layout_gravity以结束时,我收到错误
java.lang.IllegalArgumentException: No drawer view found with gravity LEFT
MainActivity
我不知道我的代码出了什么问题,但我只更改了layout_gravity来结束。
public class MainActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private CharSequence mTitle;
private CharSequence mDrawerTitle;
private ActionBarDrawerToggle mDrawerToggle;
private Toolbar topToolBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/****************************************************************************************
* DRAWER
****************************************************************************************/
mTitle = mDrawerTitle = " ";
topToolBar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(topToolBar);
topToolBar.setLogo(R.drawable.logo);
topToolBar.setLogoDescription(" ");
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
List<DrawerItem> drawerItems = new ArrayList<DrawerItem>();
drawerItems.add(new DrawerItem("Home"));
drawerItems.add(new DrawerItem("Student"));
drawerItems.add(new DrawerItem("Teacher"));
mDrawerList.setAdapter(new DrawerAdapter(this, drawerItems));
mDrawerToggle = new ActionBarDrawerToggle(MainActivity.this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) {
/**
* Called when a drawer has settled in a completely closed state.
*/
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
/**
* Called when a drawer has settled in a completely open state.
*/
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
// Set the drawer toggle as the DrawerListener
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerToggle.setDrawerIndicatorEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
}
});
}
private void selectItem(int position){
switch(position) {
default:
case 0:
break;
case 1:
Intent intent2 = new Intent(MainActivity.this, StudentActivity.class);
startActivity(intent2);
finish();
break;
case 2:
Intent intent3 = new Intent(MainActivity.this, TeacherActivity.class);
startActivity(intent3);
finish();
break;
}
mDrawerList.setItemChecked(position, true);
mDrawerLayout.closeDrawer(mDrawerList);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// If the nav drawer is open, hide action items related to the content view
boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="end"
android:background="#ffffff"
android:minHeight="?attr/actionBarSize" />
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff">
</LinearLayout>
<!-- NAVIGATION DRAWER -->
<ListView android:id="@+id/left_drawer"
android:layout_width="160dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:choiceMode="singleChoice"
android:divider="#b1b1b1"
android:dividerHeight="0.5dp"
android:background="#ffffff"
/>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
logcat error
FATAL EXCEPTION: main
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: Process: com.example.jathniel.drawertesting, PID: 13881
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: java.lang.IllegalArgumentException: No drawer view found with gravity LEFT
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: at android.support.v4.widget.DrawerLayout.openDrawer(DrawerLayout.java:1464)
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: at android.support.v7.app.ActionBarDrawerToggle.toggle(ActionBarDrawerToggle.java:288)
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: at android.support.v7.app.ActionBarDrawerToggle.onOptionsItemSelected(ActionBarDrawerToggle.java:278)
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: at com.example.jathniel.drawertesting.MainActivity.onOptionsItemSelected(MainActivity.java:141)
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: at android.app.Activity.onMenuItemSelected(Activity.java:3024)
12-17 11:49:41.253 13881-13881/? E/AndroidRuntime: at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:361)
最佳答案
在您的 DrawerLayout 中添加 android:layout_gravity="left",
关于java.lang.IllegalArgumentException : No drawer view found with gravity LEFT in Navigation Drawer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34326183/
我是设计师而不是开发人员。 我正在使用重力形式。我有一个简单的重力形式: 【姓名】 【电话】 [邮箱] 【留言】 我想确保至少有一个 [phone]或 [email]已输入,而不是要求两者都填写。 重
我有一个多页重力表,它通过单选按钮呈现一系列问题。 Which of the following would you choose? o Choice #1 o Choice #2
由于某些 ROM 上某些三星设备中 EditText 中希伯来语 (RTL) 的问题:当重力设置为 Right 或 Left 时,光标停留在 EditText 的右侧,不会随着插入的文本移动。 Gra
我从 ROS 中的 URDF 导入了 webots 仿真中的模型。该机器人是一个带 3 个脚轮的三轮车驱动装置。我遵循了 webots 样式指南中的轮子样式并进行了相应更改。我的问题是,当我运行模拟时
我有一些代码应该使按钮中的文本居中,但文本并没有完全居中对齐。它位于底部一点。我该如何解决这个问题? wrap_content 34dp 0.5 #ffff
android:gravity 属性的 'bottom' 和 'end' 常量有什么区别? 我知道这里有官方文档,但我不确定实际含义是什么: http://developer.android.com/
我已经更新了这个问题,因为这可能是由于重力形式导致简单函数无法工作。我这么说的原因是因为我尝试了很多选项(如下所列)来触发 jQuery 函数,但没有一个在应该起作用的时候起作用。 我有一个简单的函数
我有一个包含 20 多个站点的 WordPress 多站点网络。我正在使用重力表格作为联系/注册/订阅表格。我想为我的 wordpress 多站点安装创建全局表单。重力表单是否可能仅将表单条目保存到主
有人能告诉我如何从提交的包含列表字段的表单中提取值吗? 我正在尝试使用 Gravity Forms 创建一个前端发布表单,然后将提交的值分配给使用 Advanced Custom Fields 创建的
我有一个以图像为项目的微调器,问题是它们被推到了左边。我认为这是旋转器的常见问题。我以前已经解决过这个问题,但仅限于 TextView ,而不是图像。如何将图像移动到下拉微调菜单的中心? 这是我的自定
搜索了一整天,想出了一个我认为很糟糕的解决方案。 我想在屏幕的右侧放置三个 ImageButton。 不居中但刚好高于中心位置.. 使用下面的代码我得到了我想要的结果,但是, 如果用户有更大的屏幕,他
我无法通过 Imageview 获得 android:gravity 选项,但我可以通过 Textview 获得它。 我的代码有什么问题吗? 如果我将其更改为 Textvi
我已经添加了 CSS,前四个规则有效,但第五个规则不符合要求。我已经玩了几个小时了,似乎无法弄明白。谁能看到我看不到的明显问题? .gform_wrapper .top_label li.gfi
当使用 Gravity Forms 作为电子邮件捕获弹出窗口时,如何在用户单击字段(名称、电子邮件等)时自动清除它们?就目前而言,他们必须单击,选择“名称”,然后将其删除,然后才能输入自己的信息。 最
我有以下 xml 文件 具有以下设计。 难道 button 不应该也垂直放置在中心吗?我知道 layout_gravity 和 gravity 是如何工
几天来我一直在尝试将微调器中的文本右对齐,但每次我都做不到,我试图将 Gravity 设置为正确,或将 ellipsize 设置为结束,但没有任何效果,我只有这个: 你能帮忙解决这个问题吗? 非常感谢
我有一个具有以下布局的 Activity :
我看到每个人都说你在 Box2D 世界中像这样添加重力: b2Vec2 gravity = b2Vec2(0.0f, -10.0f); bool doSleep = false; world = ne
我使用了演示模拟表盘,并尝试使用 setStatusBarGravity(Gravity.BOTTOM) 让系统指示器出现在底部。似乎没有遵守这种特殊的引力。 setWatchFaceStyle(ne
重力形式允许使用合并标签进行基本的场计算,例如 {Field 1:1} * {Field 2:2} ,但我想使用 if/and/else 语句来设置字段值,例如: if (and ({Field 1:
我是一名优秀的程序员,十分优秀!