猿问

实施 onClick on 子菜单以开始新活动

我正在构建一个在工具栏中有菜单项的应用程序,我为一个菜单创建了子菜单,即其 ID 为“云”。当单击将打开不同的活动时,我想在每个子菜单上实现 onclick。


这是 menu.xml 文件


<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto">


    <item

        android:id="@+id/action_refresh"

        app:showAsAction="ifRoom"

        android:title="Refresh"

        android:icon="@drawable/ic_loop_black_24dp"></item>



    <item

        android:id="@+id/notes"

        app:showAsAction="ifRoom"

        android:title="Refresh"

        android:icon="@drawable/ic_event_note_black_24dp"></item>


    <item

        android:id="@+id/cloud"

        app:showAsAction="ifRoom"

        android:title="Refresh"

        android:icon="@drawable/ic_cloud_upload_blackt_24dp">

        <menu>

            <group

                android:checkableBehavior="single">

                <item android:id="@+id/imageee"

                    android:title="Image Upload"

                    android:orderInCategory="100"

                    app:showAsAction="ifRoom" />


                <item android:id="@+id/pdfff"

                    android:title="Pdf Upload"

                    android:orderInCategory="100"

                    app:showAsAction="never"/>


            </group>

        </menu>

    </item>


</menu>


MMTTMM
浏览 143回答 3
3回答

泛舟湖上清波郎朗

我认为你不想拥有android:checkableBehavior="single"在您的子菜单上设置。此行为仅在您只想捕获菜单项中的选项(或多个选项)时有用,但如果您真的想在用户选择子菜单项时做出反应(即:做某事),则没有用。根据您的问题,听起来您想Activity在用户选择这些子菜单项之一时启动另一个。为此,只需将这些菜单项添加到以下switch语句中onOptionsItemSelected():case R.id.imageee:&nbsp; &nbsp; Intent imageIntent = new Intent(this, Upload.class);&nbsp; &nbsp; startActivity(imageIntent);&nbsp; &nbsp; return true;case R.id.pdfff:&nbsp; &nbsp; Intent pdfIntent = new Intent(this, Pdf.class);&nbsp; &nbsp; startActivity(pdfIntent);&nbsp; &nbsp; return true;
随时随地看视频慕课网APP

相关分类

Java
我要回答