在导航抽屉上调用不是片段活动的活动

     2023-02-23     239

关键词:

【中文标题】在导航抽屉上调用不是片段活动的活动【英文标题】:Call an Activity that is not a fragment activity on Navigation Drawer 【发布时间】:2022-01-10 13:07:02 【问题描述】:

我是 Android Studio 的新手。我有一个导航抽屉,我试图调用一个不是片段活动的活动,我对此感到困惑。我想调用 RecipeActivity 以添加到导航抽屉中,但该活动扩展了 AppCompatActivity 而不是片段。我该如何解决这个问题?

RecipeActivity.java

public class RecipeActivity extends AppCompatActivity 

    List<Recipe> listRecipe;


    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_recipe);

        

        RecyclerView myRv = (RecyclerView) findViewById(R.id.recyclerview_id);
        RecyclerViewAdapter myAdapter = new RecyclerViewAdapter(this, listRecipe);
        myRv.setLayoutManager(new GridLayoutManager(this, 2));
        myRv.setAdapter(myAdapter);
    


HomePage.java 包含导航抽屉代码

public class HomePage extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener 
    private DrawerLayout drawer;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home_page);

        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        drawer = findViewById(R.id.drawer_layout);
        NavigationView navigationView = findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
                R.string.navigation_draw_open, R.string.navigation_draw_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();

        if (savedInstanceState == null)

        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                new HomeFragment()).commit();

        navigationView.setCheckedItem((R.id.nav_home));
        

    

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) 
        switch(item.getItemId())
            case R.id.nav_home:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new HomeFragment()).commit();
                break;
            case R.id.nav_recipe:
                //startActivity(new Intent(HomePage.this, RecipeActivity.class));


                startActivity(new Intent(getActivity(), RecipeActivity.class));
               //getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                     //  new RecipeActivity()).commit();

               // Intent newIntent = new Intent(HomePage.this, RecipeActivity.class);
               // startActivity(newIntent);
                break;

            case R.id.nav_logout:
                Toast.makeText(this, "Logged out", Toast.LENGTH_SHORT).show();
                 break;
        

        drawer.closeDrawer(GravityCompat.START);
        return true;
    

    @Override
    public void onBackPressed() 
        if (drawer.isDrawerOpen(GravityCompat.START))
            drawer.closeDrawer(GravityCompat.START);
         else 
            super.onBackPressed();
        
        super.onBackPressed();
    

谢谢。

【问题讨论】:

【参考方案1】:

改变你的startActivity(new Intent(getActivity(), RecipeActivity.class));startActivity(new Intent(HomePage.this, RecipeActivity.class));

并确保所有活动都添加到AndroidManifest.xml

【讨论】:

我忘记了,这解决了我的问题。谢谢!

想要使用片段从导航抽屉活动移动到另一个屏幕,以在所有屏幕上显示抽屉(代码片段)

...我的抽屉活动旁边添加片段,以便在整个应用程序中看到导航抽屉。我已尝试过stackoverflow和其他许多方法,但仍然没有成功。然后我必须从第一个片段移动到第二个片段,依此类推,直到需要导航抽屉。当我从我的活动移动到... 查看详情

如何在不使用片段的情况下访问所有活动中的导航抽屉?

】如何在不使用片段的情况下访问所有活动中的导航抽屉?【英文标题】:Howtoaccessnavigationdrawerinallactivitieswithoutusingfragments?【发布时间】:2014-03-2907:27:47【问题描述】:我想在所有活动中访问导航抽屉。我不想使用片段。相反... 查看详情

在导航抽屉项目单击上启动新活动

】在导航抽屉项目单击上启动新活动【英文标题】:Startinganewactivityonnavigationdraweritemclick【发布时间】:2016-07-2714:20:57【问题描述】:我知道这是一个经常被问到的问题,但是在阅读了有关堆栈溢出的许多问题和解决方案后,我... 查看详情

如何在导航抽屉活动模板中的片段之间传递字符串变量

】如何在导航抽屉活动模板中的片段之间传递字符串变量【英文标题】:Howtopassstringvariablebetweenfragmentsinnavigationdraweractivitytemplate【发布时间】:2021-12-2807:49:04【问题描述】:告诉我如何在AndroidStudio4.0.1中的导航抽屉活动模板的... 查看详情

多个活动上的 Android 导航抽屉

】多个活动上的Android导航抽屉【英文标题】:AndroidNavigationDraweronmultipleActivities【发布时间】:2013-09-1222:13:54【问题描述】:有没有办法只配置一次NavigationDrawer,并在多个Activity上显示?【问题讨论】:Here是一个不错的教程。见... 查看详情

导航抽屉活动:在按钮单击时从片段移动到片段

】导航抽屉活动:在按钮单击时从片段移动到片段【英文标题】:NavigationDrawerActivity:movefromfragmenttofragmentonbuttonclick【发布时间】:2020-12-2614:36:17【问题描述】:通过单击按钮从片段移动到另一个片段,会导致以下内容重叠。当... 查看详情

通过单击导航抽屉上的项目打开虚假活动

】通过单击导航抽屉上的项目打开虚假活动【英文标题】:FalseActivityopensbyclickingonanItemontheNavigationdrawer【发布时间】:2017-12-3013:46:07【问题描述】:我编写了一个测验应用程序。我还有一个导航抽屉,其中包含以下项目:主页、... 查看详情

如何在导航抽屉中添加活动

】如何在导航抽屉中添加活动【英文标题】:HowtoaddactivityinNavigationDrawer【发布时间】:2021-07-0514:55:06【问题描述】:我正在尝试在我的导航抽屉中添加一个活动。我已经在我的主要活动中加入了带有项目id的switchcase的意图。我... 查看详情

在所有活动问题中显示导航抽屉

】在所有活动问题中显示导航抽屉【英文标题】:DisplayingNavigationdrawerinallactivitiesproblem【发布时间】:2020-04-2011:54:58【问题描述】:我正在制作一个包含不同活动的导航抽屉,我想在所有活动中显示相同的导航抽屉,我采用相同... 查看详情

如何在主片段中单击按钮时打开导航抽屉?

】如何在主片段中单击按钮时打开导航抽屉?【英文标题】:Howtoopennavigationdraweronbuttonclickinmainfragment?【发布时间】:2013-10-2621:28:17【问题描述】:我制作了一个带有一个活动的应用程序,该活动使用导航抽屉打开许多不同的片... 查看详情

选择导航菜单项时不会替换上一个片段

】选择导航菜单项时不会替换上一个片段【英文标题】:Previousfragmentisnotbeingreplacedwhenselectinganavigationmenuitem【发布时间】:2021-11-1619:27:23【问题描述】:我有一个导航抽屉活动,它根据从前一个活动作为主页片段传递的一些数据... 查看详情

所有活动中的Android导航抽屉[重复]

】所有活动中的Android导航抽屉[重复]【英文标题】:AndroidNavdrawerinallactivities[duplicate]【发布时间】:2018-05-0901:19:49【问题描述】:如何在所有活动中显示我的导航抽屉在androidstudio中创建一个新项目并有一个导航抽屉活动后,我... 查看详情

多个活动的导航抽屉,无需选择导航抽屉活动

】多个活动的导航抽屉,无需选择导航抽屉活动【英文标题】:NavigationDrawerFormultipleActivitiesWithoutSelectingNavigationDraweractivity【发布时间】:2020-06-0201:14:37【问题描述】:我是安卓新手。我想实现一个由项目列表组成的导航抽屉,... 查看详情

带有活动和子片段的导航抽屉

】带有活动和子片段的导航抽屉【英文标题】:NavigationdrawerwithActivityandchildFragments【发布时间】:2014-04-1412:41:12【问题描述】:我有一个ActivityA、一个ListFragmentP和2FragmentsQ和R。应用程序启动时,会创建A,它会加载P。根据用户点... 查看详情

导航抽屉异步任务

】导航抽屉异步任务【英文标题】:NavigationDrawerAsyncTask【发布时间】:2015-11-0603:04:35【问题描述】:我想公开我的问题,我想知道如何解决它。在我的应用程序中,我正在使用一个活动,进行简单的登录,启动一个asyncTask。在... 查看详情

将导航抽屉活动扩展到其他活动

】将导航抽屉活动扩展到其他活动【英文标题】:extendingnavigationdraweractivitytootheractivities【发布时间】:2014-04-0322:35:51【问题描述】:我正在尝试创建一个导航抽屉活动,以便我可以扩展该活动并按照此问题Link中给出的答案在所... 查看详情

如何从导航抽屉启动活动?

】如何从导航抽屉启动活动?【英文标题】:HowtolaunchactivityfromNavigationDrawer?【发布时间】:2014-06-3020:25:10【问题描述】:所以我在这里搜索了有关导航抽屉的分配,当我被指向另一个人问题的答案中的教程时。我这样做了。我... 查看详情

更新基本导航抽屉活动的参数

】更新基本导航抽屉活动的参数【英文标题】:Updateanargumentofabasicnavigationdraweractivity【发布时间】:2021-02-1615:35:41【问题描述】:上下文:我想在他登录后将userId传递给片段UserFragment。我使用了一个新项目Android类型“导航抽屉... 查看详情