Как установить DialogInterface.OnClickListener без AlertDialog.Builder? - PullRequest
0 голосов
/ 21 сентября 2011

Я хочу создать пользовательский AlertDialog, но без AlertDialog.Builder.Я устанавливаю ListView в качестве представления содержимого и хочу установить DialogInterface.OnClickListener для его элементов.

Вот метод onCreate () моего пользовательского MyAlertDialog расширяет AlertDialog.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Context context = getContext();
    setTitle("Custom title");
    ListView listView = new ListView(context);
    listView.setAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, new String[] { "One", "Two" }));
    listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    setContentView(listView);
}

Я читал документы оDialogInterface, Dialog и AlertDialog много раз, но я не нашел такой опции, как «AlertDialog.setOnClickListener ()».

Решение должно быть без AlertDialog.Builder.

1 Ответ

2 голосов
/ 21 сентября 2011

Используйте OnItemClickListener вместо.

Если вы хотите использовать свой диалог в разных местах, добавьте функцию в диалог и попробуйте сделать весь код более пригодным для повторного использования.

public void setOnItemClickListener(OnItemClickListener listener){
    listView.setOnItemClickListener(listener);
}
...