Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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导航抽屉中_Java_Android - Fatal编程技术网

Java 将活动代码正确放置在Android导航抽屉中

Java 将活动代码正确放置在Android导航抽屉中,java,android,Java,Android,我试图在一个带有导航抽屉菜单的android项目中包含随机数的生成。对于后者,我一直在关注youtube教程(Android开发教程#12-生成一个随机数),该教程非常有效,但只在一个基本的Android studio项目中使用。作为一名java新手,我在尝试将相同的java代码包含到MainActivity.java中时遇到了麻烦,因为MainActivity.java已经包含了导航抽屉菜单的代码。我假设我插入用于生成数字的相应示例代码(代码段中的第114行到第126行)的位置一定是错误的,我

我试图在一个带有导航抽屉菜单的android项目中包含随机数的生成。对于后者,我一直在关注youtube教程(Android开发教程#12-生成一个随机数),该教程非常有效,但只在一个基本的Android studio项目中使用。作为一名java新手,我在尝试将相同的java代码包含到MainActivity.java中时遇到了麻烦,因为MainActivity.java已经包含了导航抽屉菜单的代码。我假设我插入用于生成数字的相应示例代码(代码段中的第114行到第126行)的位置一定是错误的,我在文件中尝试了不同的方法。但我总是得到错误:unreachable语句(在第114行)。Thx为任何帮助提前

包。。。
导入android.app.FragmentManager;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.Snackbar;
导入android.view.view;
导入android.support.design.widget.NavigationView;
导入android.support.v4.view.GravityCompat;
导入android.support.v4.widget.DrawerLayout;
导入android.support.v7.app.ActionBarDrawerToggle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.Button;
导入android.widget.TextView;
公共类MainActivity扩展了AppCompatActivity
实现NavigationView.OnNavigationItemSelectedListener{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
FloatingActionButton fab=(FloatingActionButton)findViewById(R.id.fab);
fab.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Snackbar.make(查看“替换为您自己的操作”,Snackbar.LENGTH\u LONG)
.setAction(“Action”,null).show();
}
});
抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局);
ActionBarDrawerToggle切换=新建ActionBarDrawerToggle(
这,抽屉,工具栏,R.string.navigation\u drawer\u open,R.string.navigation\u drawer\u close);
抽屉。设置抽屉定位器(开关);
toggle.syncState();
NavigationView NavigationView=(NavigationView)findViewById(R.id.nav_视图);
navigationView.setNavigationItemSelectedListener(此);
}
@凌驾
public void onBackPressed(){
抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局);
if(抽屉isDrawerOpen(重力压缩机启动)){
抽屉。关闭抽屉(重力压缩机启动);
}否则{
super.onBackPressed();
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
//noinspection SimplifiableIf语句
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
@SuppressWarnings(“StatementWithEmptyBody”)
@凌驾
公共布尔值onNavigationItemSelected(MenuItem项){
//处理导航视图项单击此处。
int id=item.getItemId();
FragmentManager FragmentManager=getFragmentManager();
if(id==R.id.nav_第一层){
fragmentManager.beginTransaction()
.更换(R.id.content_框架
,新的FirstFragment())
.commit();
}else if(id==R.id.nav_第二层){
fragmentManager.beginTransaction()
.更换(R.id.content_框架
,新的第二个片段()
.commit();
}else if(id==R.id.nav_第三层){
fragmentManager.beginTransaction()
.更换(R.id.content_框架
,新的第三个片段()
.commit();
}else if(id==R.id.nav_共享){
}else if(id==R.id.nav_send){
}
抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局);
抽屉。关闭抽屉(重力压缩机启动);
返回true;
最终文本视图文本一=(文本视图)findViewById(R.id.rndsampletext);
按钮pushMe=(按钮)findViewById(R.id.rndsamplebutton);
最后一个字符串[]txtOptions={“一”、“二”、“三”};
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
int rando=(int)(Math.random()*3);
setText(txtOptions[rando]);
};
});
}

}
开始时返回true:

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;  // here
它应该在u生成随机数之后:

我建议您将代码添加到
活动的
onCreate()
方法中

比如:


您可能会从@trav6 Welcome to Stack overflow中获得一些灵感…如果答案通过单击答案旁边的勾号帮助将其标记为正确的话..非常感谢您的帮助,rafsanahmad007!!我按照你的建议做了(即移动返回真),最初的问题就消失了。但是,在emulator中启动应用程序时,它会完美启动,但是当c
@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();
        }
    });

    //move this here
    final TextView textOne = (TextView) findViewById(R.id.rndsampletext);

    Button pushMe = (Button) findViewById(R.id.rndsamplebutton);

    final String [] txtOptions = {"One", "Two", "Three"};

    pushMe.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            int rando = (int) (Math.random() * 3);
            textOne.setText(txtOptions[rando]);
        };
    });

    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);
}