类android.content.DialogInterface.OnMultiChoiceClickListener源码实例Demo

下面列出了怎么用android.content.DialogInterface.OnMultiChoiceClickListener的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: FlyWoo   文件: AlertDialogUtils.java
/**
 * @param context
 * @param s
 * @param okcallback
 */
public static void showSelectFriends(Context context, final String[] s, final MultCallBack okcallback) {
    new Builder(context).setMultiChoiceItems(s, new boolean[]{},
            new OnMultiChoiceClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                    List<Integer> checked = new ArrayList<Integer>();
                    for (int i = 0; i < s.length; i++) {
                        if (i == which && isChecked) {
                            // ��ʾѡ����
                            checked.add(i);
                        }
                    }
                    okcallback.onOkClick(checked);
                    dialog.dismiss();
                }
            }).show();
}
 
/**
 * Creates and returns a listener, which allows to show a toast, which indicates when a multi
 * choice list item of a dialog has been selected or unselected.
 *
 * @return The listener, which has been created, as an instance of the type {@link
 * OnClickListener}
 */
private OnMultiChoiceClickListener createMultiChoiceListener() {
    return new OnMultiChoiceClickListener() {

        @Override
        public void onClick(final DialogInterface dialog, final int position,
                            final boolean isChecked) {
            String text = getString(R.string.multi_choice_listener_selected_text);

            if (!isChecked) {
                text = getString(R.string.multi_choice_listener_unselected_text);
            }

            if (toast != null) {
                toast.cancel();
            }

            showToast(String.format(text, position));
        }

    };
}
 
/**
 * Creates and returns a listener, which allows to observe when list items are selected or
 * unselected by the user.
 *
 * @return The listener, which has been created, as an instance of the type {@link
 * OnMultiChoiceClickListener}
 */
private OnMultiChoiceClickListener createListItemListener() {
    return new OnMultiChoiceClickListener() {

        @Override
        public void onClick(final DialogInterface dialog, final int which,
                            final boolean isChecked) {
            if (isChecked) {
                selectedIndices.add(which);
            } else {
                selectedIndices.remove(which);
            }
        }

    };
}
 
源代码4 项目: Conquer   文件: AlertDialogUtils.java
/**
 * 多选对话框
 * 
 * @param context
 * @param s
 * @param okcallback
 */
public static void showSelectFriends(Context context, final String[] s, final MultCallBack okcallback) {
    new Builder(context).setMultiChoiceItems(s, new boolean[] {},
            new OnMultiChoiceClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                    List<Integer> checked = new ArrayList<Integer>();
                    for (int i = 0; i < s.length; i++) {
                        if (i == which && isChecked) {
                            // 表示选中了
                            checked.add(i);
                        }
                    }
                    okcallback.onOkClick(checked);
                    dialog.dismiss();
                }
            }).show();
}
 
源代码5 项目: Study_Android_Demo   文件: MainActivity.java
public void dialog2(View view) {
	// 1.Builder
	AlertDialog.Builder builder = new AlertDialog.Builder(this);
	// 2.���ñ��⡢���ݡ�����
	builder.setTitle("����ϲ����֧���");
	/*
	 * ����1������Դ����
	 * 
	 * ����2:ÿ��ѡ���Ĭ�ϳ�ʼ�ĵ��״̬boolean����
	 * 
	 */
	builder.setMultiChoiceItems(items, isChecks,
			new OnMultiChoiceClickListener() {

				// ����������ǰ���DZ�ѡ�л���ȡ��
				@Override
				public void onClick(DialogInterface dialog, int which,
						boolean isChecked) {
					// ����һ������ַ���
					StringBuilder sb = new StringBuilder();
					// ѭ������ѡ�����ݣ���ȡѡ��������ݣ���ƴ�ӵ������
					for (int i = 0; i < items.length; i++) {
						// �����ǰ����ѡ�У�ƴ�ӵ������
						if (isChecks[i]) {
							sb.append(items[i]).append("\n");
						}
					}
					Toast.makeText(MainActivity.this, sb.toString(),
							Toast.LENGTH_SHORT).show();
				}
			});
	// 3.��ʾ
	builder.show();
}
 
@NonNull
@Override
public MaterialAlertDialogBuilder setMultiChoiceItems(
    @ArrayRes int itemsId,
    @Nullable boolean[] checkedItems,
    @Nullable final OnMultiChoiceClickListener listener) {
  return (MaterialAlertDialogBuilder) super.setMultiChoiceItems(itemsId, checkedItems, listener);
}
 
@NonNull
@Override
public MaterialAlertDialogBuilder setMultiChoiceItems(
    @Nullable CharSequence[] items,
    @Nullable boolean[] checkedItems,
    @Nullable final OnMultiChoiceClickListener listener) {
  return (MaterialAlertDialogBuilder) super.setMultiChoiceItems(items, checkedItems, listener);
}
 
@NonNull
@Override
public MaterialAlertDialogBuilder setMultiChoiceItems(
    @Nullable Cursor cursor,
    @NonNull String isCheckedColumn,
    @NonNull String labelColumn,
    @Nullable final OnMultiChoiceClickListener listener) {
  return (MaterialAlertDialogBuilder)
      super.setMultiChoiceItems(cursor, isCheckedColumn, labelColumn, listener);
}
 
源代码9 项目: haxsync   文件: MultiSelectListPreference.java
@Override
protected void onPrepareDialogBuilder(Builder builder) {
	builder.setMultiChoiceItems(getEntries(), checkedEntryIndexes,
			new OnMultiChoiceClickListener() {

				@Override
				public void onClick(DialogInterface dialog, int which,
						boolean isChecked) {
					checkedEntryIndexes[which] = isChecked;
				}
			});
}
 
public PreferenceDialogBuilder setMultiChoiceItems(int itemsId, boolean[] checkedItems, OnMultiChoiceClickListener listener) {
    mBuilder.setMultiChoiceItems(itemsId, checkedItems, listener);
    return this;
}
 
public PreferenceDialogBuilder setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, OnMultiChoiceClickListener listener) {
    mBuilder.setMultiChoiceItems(items, checkedItems, listener);
    return this;
}
 
public PreferenceDialogBuilder setMultiChoiceItems(Cursor cursor, String isCheckedColumn, String labelColumn, OnMultiChoiceClickListener listener) {
    mBuilder.setMultiChoiceItems(cursor, isCheckedColumn, labelColumn, listener);
    return this;
}
 
public PreferenceDialogBuilder setMultiChoiceItems(int itemsId, boolean[] checkedItems, OnMultiChoiceClickListener listener) {
    mBuilder.setMultiChoiceItems(itemsId, checkedItems, listener);
    return this;
}
 
public PreferenceDialogBuilder setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, OnMultiChoiceClickListener listener) {
    mBuilder.setMultiChoiceItems(items, checkedItems, listener);
    return this;
}
 
public PreferenceDialogBuilder setMultiChoiceItems(Cursor cursor, String isCheckedColumn, String labelColumn, OnMultiChoiceClickListener listener) {
    mBuilder.setMultiChoiceItems(cursor, isCheckedColumn, labelColumn, listener);
    return this;
}
 
/**
 * Creates a new wrapper, which implements the interface {@link OnItemClickListener} in order to
 * delegate the method calls to encapsulated listener of the type {@link
 * OnMultiChoiceClickListener}.
 *
 * @param listener
 *         The listener, which should be encapsulated by the wrapper, as an instance of the type
 *         {@link OnMultiChoiceClickListener} or null, if no listener should be encapsulated
 * @param dialog
 *         The dialog, the listener should belong to, as an instance of the type {@link
 *         ValidateableDialog}. The dialog may not be null
 * @param buttonType
 *         The type of the button or list item, the listener belongs to, as an {@link Integer}
 *         value
 */

public OnMultiChoiceClickListenerWrapper(@Nullable final OnMultiChoiceClickListener listener,
                                         @NonNull final ValidateableDialog dialog,
                                         final int buttonType) {
    super(dialog, buttonType);
    this.wrappedListener = listener;
}
 
 类所在包
 类方法
 同包方法