Как я могу раздувать макет для AlertDialog, когда я нажимаю пункт во всплывающем меню? - PullRequest
0 голосов
/ 24 января 2020

Это мой код, который я пытаюсь сделать, но я не знаю, какой код я должен добавить, чтобы сделать это. пожалуйста, помоги мне! Заранее спасибо :)

@Override
public void onBindViewHolder(@NonNull HalakaViewHolder holder, int position) {
    holder.bind(halakat.get(position));
    holder.imgbtn_more.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            PopupMenu popup = new PopupMenu(holder.itemView.getContext(), view);
            popup.getMenuInflater().inflate(R.menu.halaka_more_menu, popup.getMenu());
            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem menuItem) {
                    int id = menuItem.getItemId();
                    switch (id) {
                        case R.id.menu_more_halaka_tadel:
                            Toast.makeText(holder.itemView.getContext(), ""+menuItem.getTitle(), Toast.LENGTH_SHORT).show();
                            final AlertDialog.Builder alert=new AlertDialog.Builder(holder.itemView.getContext());
                            break;
                        case R.id.menu_more_halaka_delete:
                            Toast.makeText(holder.itemView.getContext(), ""+menuItem.getTitle(), Toast.LENGTH_SHORT).show();
                            break;
                    }
                    return true;
                }
            });
            popup.show();
        }
    });
}

1 Ответ

0 голосов
/ 24 января 2020

Чтобы показать AlertDialog, вам нужно вызвать create(), а затем show() методы после определения его свойств. Это означает, что в вашем коде после определения переменной оповещения установите заголовок и сообщение, затем напишите этот alert.create().show()

, используйте метод setView() и передайте макет xml в качестве параметра.

Вы можете использовать View rootView = LayoutInflater.from(this).inflate(R.layout.custom_snippet, null); и получать к нему доступ к своим дочерним видам, например: TextView userName = rootView.findViewById(R.id.userName);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...