Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio中导航抽屉的问题_Java_Android_Navigation Drawer - Fatal编程技术网

Java Android Studio中导航抽屉的问题

Java Android Studio中导航抽屉的问题,java,android,navigation-drawer,Java,Android,Navigation Drawer,我有一个Android导航抽屉的问题 我在空的活动中,我需要传递到导航抽屉,我的代码在 空活动是 final Button Login = (Button) findViewById(R.id.btnLogin); Login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent new_from

我有一个Android导航抽屉的问题

我在空的活动中,我需要传递到导航抽屉,我的代码在 空活动是

final Button Login = (Button) findViewById(R.id.btnLogin);
    Login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent new_from = new Intent(Login.this, MainActivity.class);
            startActivity(new_from);
        }
    });
这个代码是正确的

抽屉类别为:

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(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
}
现在,在抽屉里,问题是这一行

setSupportActionBar(toolbar);
最后一行关闭我的应用程序

PD:所有活动都在清单中


感谢和快乐日

由于您没有提供有关此问题的所有信息,我将解决此问题,假设您没有为导航抽屉设置正确的条件,并且很可能在“活动”和“默认主题”中设置工具栏时遇到冲突

如果您想以在MainActivity(setSupportActionBar(toolbar))中编写的方式创建带有工具栏的导航抽屉,则需要更改应用程序主题

您可以在清单文件中执行此操作:

android:theme="@android:style/Theme.NoTitleBar"
您还可以在res/values/styles.xml中更改:

定制主题

<style name = "AppTheme" parent = "android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

<style name = "NoActionBar" parent = "@android:style/Theme.Holo.Light">
    <item name = "android:windowActionBar">false</item>
    <item name = "android:windowNoTitle">true</item>
</style>

假的
真的
或者只是替换主题(更好的方法是从清单中):


如果要以其他方式设置导航抽屉,请查看此链接以获取有关此主题的更多帮助:






由于您添加了工具栏,并通过编程将其设置为操作栏,因此您需要更改样式

转到清单并编辑抽屉活动标记,如下所示:

<activity 
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        android:name=".MainActivity">
</activity>


将所有代码和stacktrace放在此处。如果您可能出现Actionbar错误,请对同一活动使用NoActionBar主题stacktrace在哪里?????错误是什么?把你的主题也放在这里谢谢你的回答,我的程序现在正在运行:D
<activity 
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        android:name=".MainActivity">
</activity>