【问题标题】:How to open New Activites by clicking on menu items in bottomnavigation bar - Android Studio如何通过单击底部导航栏中的菜单项打开新活动 - Android Studio
【发布时间】:2018-05-18 09:14:49
【问题描述】:

我在stackoverflow 和其他一些专业网站上搜索了很多,但没有找到任何解决方案。

我尝试了不同的方法,但结果大约为 0。有些方法对我有用,但仅在我单击顶部菜单导航栏时才适用。但我不想显示操作/顶部导航栏。

我只想在bottomnavigation 栏中显示这些项目,例如最近新闻、热门故事、访问次数最多。我想通过单击这些项目来启动三个activities,因为我的应用程序是webview 应用程序。

为此,我使用 onOptionItemSelected 我认为这是错误的。所以问题在这里>>

我在底部导航中有三个按钮。

  1. (action_item1) = 点击它应该启动 second_activity

  2. (action_item2) = 点击它应该启动third_activity

  3. (action_item3) = 点击它应该开始第四个活动 请帮助我,我是 android studio 的新手。

导航 XML 在这里!

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item
    android:id="@+id/action_item1"
    android:icon="@drawable/ic_recent"
    android:title="Recent News" />

<item
    android:id="@+id/action_item2"
    android:icon="@drawable/ic_hot"
    android:title="Hot Stories" />

<item
    android:id="@+id/action_item3"
    android:icon="@drawable/ic_most"
    android:title="Most Visited" />
</menu>

Mainactivity.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.pkg.webview.webview">

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="0dp"
    android:layout_marginStart="0dp"
    android:background="?android:attr/windowBackground"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:menu="@menu/navigation" /> 
    </android.support.constraint.ConstraintLayout>

Mainactivity.java

package com.pkg.webview.webview;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;


public class MainActivity extends AppCompatActivity{
private ProgressBar pb;
private WebView webView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate (savedInstanceState);
    getSupportActionBar ().hide ();
    setContentView (R.layout.activity_main);}
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater ().inflate (R.menu.navigation, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId ()) {
            case R.id.action_item1:
                startActivity (new Intent (this, secondactivity.class));
                break;
        }
        return super.onOptionsItemSelected (item);
    }
}

【问题讨论】:

  • 你想达到什么目标?
  • 你的问题是什么?
  • @ADM 我的问题是,当我单击底部栏中可用的菜单项 (action_item1) 时,应该启动第二个活动,当我单击菜单项 (action_item2) 时,应该是一个链接在 playstore 中打开以进行评级....等等。我已经在 java 中为一个项目(action_item1)进行了编码,但没有发生任何事情。请帮我。对不起我的英语不好。
  • @meditat 我的问题是,当我单击底部栏中可用的菜单项(action_item1)时,应该启动第二个活动,当我单击菜单项(action_item2)时,应该是一个链接在 playstore 中打开以进行评级....等等。我已经在 java 中为一个项目(action_item1)进行了编码,但没有发生任何事情。请帮我。对不起我的英语不好。
  • 令人困惑!!。在代码中,您使用AlertDialog 打开链接而您的问题是关于BottomNavigationView。只需使用bottomNavigation.setOnNavigationItemSelectedListener()BottomNavigationView 上设置监听器。

标签: android android-studio


【解决方案1】:

据我了解,您想实现Bottom Navigation 并为不同的项目打开不同的活动/屏幕。

我在 stackoverflow 和其他一些专业网站上搜索了很多,但没有找到任何解决方案。

根据您的要求,并非所有内容都可用于复制粘贴。

我只想在底部导航栏中显示这些项目,例如最近新闻、热门故事、访问次数最多。我想通过单击这些项目来启动三个活动,因为我的应用程序是 webview 应用程序。

要深入了解更多详细信息,请参阅 this 教程。为了您在本教程中的简单性,Bottom Navigation 是通过android.support.design.widget.BottomNavigationView 中提供的BottomNavigationView 实现的,fragments 根据我们的要求用于不同的屏幕。

我想从点击这些项目开始,因为我的应用是 webview 应用。

您可以在这些片段中打开webview。例如,在您的fragment 中的OnCreate 中,您可以加载webview

请帮助我,我是 android studio 的新手。

作为一个社区,我们总是欢迎新朋友。遵循社区准则,并在完成深入研究后随时提出任何问题。

您现在开始是一件好事,与其直接潜入其中,不如退后一步,了解它正在发挥作用。

愿原力与你同在..

希望这会有所帮助。

快乐编码...

【讨论】:

  • 感谢您的回答,但我想直接打开活动而不是片段。可能吗?我已经完成了片段,但是在我的第二个、第三个和第四个活动中有很多编码,我无法处理片段中的所有编码。有很多关于片段创建的教程,但没有关于开始新活动的教程。我不想使用片段。想直接开始活动。我在等你的答复。
  • @MWaseemSajjad 看看这个stackoverflow.com/questions/41744219/…
猜你喜欢
  • 2021-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 2021-11-27
  • 1970-01-01
  • 2020-06-02
相关资源
最近更新 更多