Я хочу создать диалоговое окно с несколькими вариантами выбора 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();
}
});