我想创建一个包含多个Choice 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();
}
});