Android-элемент с возможностью выбора оповещения с помощью CheckedTextView и изображения - PullRequest
0 голосов
/ 01 октября 2018

Я хочу создать диалоговое окно с несколькими вариантами выбора ListView и изображением.При нажатии на изображение должно появиться ToolTip или Toast, отображающее некоторую информацию относительно элемента списка.ToolTip или Toast должны отображаться только при нажатии на изображение, а не на отмеченный элемент.Я написал конструктор диалогов для множественного выбора ListView, но как включить изображение и слушатель щелчка изображения?

Это мой DialogBuilder:

txtCategories.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder mBuilder = new AlertDialog.Builder(activity_en_register.this);
                mBuilder.setTitle(R.string.en_profile_UserCategory);
                mBuilder.setMultiChoiceItems(listItems, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int position, boolean isChecked) {

                        if(isChecked){
                            mUserItems.add(position);
                        }else{
                            mUserItems.remove((Integer.valueOf(position)));
                        }

                        Toast.makeText(getApplicationContext(),helpItems[position].toString(),Toast.LENGTH_SHORT).show();
                    }
                });

                mBuilder.setCancelable(false);
                mBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        String item = "";
                        for (int i = 0; i < mUserItems.size(); i++) {
                            item = item + listItems[mUserItems.get(i)];
                            if (i != mUserItems.size() - 1) {
                                item = item + ", ";
                            }
                        }
                            txtCategories.setText(item);
                    }
                });

                mBuilder.setNegativeButton("Clear All", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        for (int i = 0; i < checkedItems.length; i++) {
                            checkedItems[i] = false;
                            mUserItems.clear();
                            txtCategories.setText("");
                        }
                    }
                });

                mBuilder.setNeutralButton("Select All",  new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        String item = "";
                        for(int m = 0; m < checkedItems.length; m++) {
                            checkedItems[m] = true;
                            item = item + listItems[m];

                            if (m != checkedItems.length - 1) {
                                item = item + ", ";
                            }
                        }

                        txtCategories.setText(item);
                    }
                });

                AlertDialog mDialog = mBuilder.create();
                mDialog.show();
            }
        });
...