第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為列表視圖中的每個列表項添加三點菜單?

如何為列表視圖中的每個列表項添加三點菜單?

暮色呼如 2023-09-27 10:25:37
我想為列表視圖的每個列表項添加三點菜單。**這是我的listview適配器getView方法** @Overridepublic View getView(final int position, View convertView, ViewGroup parent) {    LayoutInflater inflater = activity.getLayoutInflater();    View inflate = inflater.inflate(R.layout.book_item_new, null, false);    findViews(inflate);    bookTitle.setText(books.get(position).getName());    bookPrice.setText(books.get(position).getPrice() + " ?");    semBranch.setText(books.get(position).getSemester() + " Sem " + books.get(position).getBranch());    date.setText(books.get(position).getpDate());    senderName.setText(books.get(position).getSender());    return inflate;}
查看完整描述

3 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

在布局中添加ImageView帶有三點圖像的book_item_new。


<ImageView

    android:id="@+id/imbPopUp"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_alignParentEnd="true"

    android:layout_centerVertical="true"

    android:paddingLeft="18dp"

    android:paddingRight="18dp"

    android:src="@drawable/icon_menu_dot" /> 

并在您的內部OnclickListener設置如下所示。imageviewgetView()


imageView.setOnClickListener(new View.OnClickListener() {


            @Override

            public void onClick(View v) {


                showPopupMenu(imageView, position);

            }

        });



    /**

     * Showing popup menu when tapping on 3 dots

     */

    private void showPopupMenu(View view, int position) {

        PopupMenu popup = new PopupMenu(context, view, Gravity.END);

        MenuInflater inflater = popup.getMenuInflater();


        inflater.inflate(R.menu.favourite_menu, popup.getMenu());


        //set menu item click listener here

        popup.setOnMenuItemClickListener(new MyMenuItemClickListener(position));

        popup.show();

    }

現在為您的菜單項單擊創(chuàng)建單擊偵聽器類,如下所示。


/**

     * Click listener for popup menu items

     */

    class MyMenuItemClickListener implements PopupMenu.OnMenuItemClickListener {

        int position;


        /**

         * @param position

         */

        MyMenuItemClickListener(int position) {


            this.position = position;

        }


        /**

         * Click listener for popup menu items

         */


        @Override

        public boolean onMenuItemClick(MenuItem menuItem) {

            switch (menuItem.getItemId()) {

                case R.id.view:

                   // ...

                    return true;

                case R.id.edit:

                    // ...

                    return true;

                case R.id.delete:

                    // ...

                    return true;

                case R.id.favourite:

                   // ...

                    return true;

                default:

            }

            return false;

        }

    }


查看完整回答
反對 回復 2023-09-27
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

你可以嘗試這個,在你的設計xml中添加以下點代碼


<Textview

        android:id="@+id/textViewOptions"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_alignParentRight="true"

        android:text="&#8942;"

        android:textAppearance="?android:textAppearanceLarge"

        android:gravity="center_horizontal|center_vertical"/>

之后在您的 on bind 方法中添加以下代碼,


holder.textViewOptions.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {


            //creating a popup menu

            PopupMenu popup = new PopupMenu(context, holder.textViewOptions);

            //inflating menu from xml resource

            popup.inflate(R.menu.menu_options);

            //adding click listener

            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

                @Override

                public boolean onMenuItemClick(MenuItem item) {

                    switch (item.getItemId()) {

                        case R.id.action_delete:

                            //handle menu1 click

                            return true;

                        case R.id.action_edit:

                            //handle menu2 click

                            return true;

                        default:

                            return false;

                    }

                }

            });

            popup.show();


        }

    });


查看完整回答
反對 回復 2023-09-27
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

只需將按鈕添加到列表項中并將 onClickListener 設置為按鈕即可。

像這樣


  button.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

      ContextThemeWrapper wrapper =

      new ContextThemeWrapper();

      PopupMenu popupMenu = new PopupMenu(wrapper, 'yourItemView');


      popupMenu.inflate(R.menu.'your_menu');

      popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

        @Override

        public boolean onMenuItemClick(MenuItem item) {

          // implement menu click here

          return true

        }

      });

      popupMenu.show();

    }

  });


查看完整回答
反對 回復 2023-09-27
  • 3 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號