Android 如何在没有AlertDialog.Builder的情况下设置DialogInterface.OnClickListener?

Android 如何在没有AlertDialog.Builder的情况下设置DialogInterface.OnClickListener?,android,dialog,onclick,android-alertdialog,Android,Dialog,Onclick,Android Alertdialog,我想创建自定义AlertDialog,但不创建AlertDialog.Builder。我将ListView设置为内容视图,并希望在其项上设置DialogInterface.OnClickListener 下面是自定义MyAlertDialog扩展AlertDialog的onCreate()方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我想创建自定义AlertDialog,但不创建AlertDialog.Builder。我将ListView设置为内容视图,并希望在其项上设置DialogInterface.OnClickListener

下面是自定义MyAlertDialog扩展AlertDialog的onCreate()方法

@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);
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Context=getContext();
设定所有权(“自定义所有权”);
ListView ListView=新的ListView(上下文);
setAdapter(新的ArrayAdapter(context,android.R.layout.simple_list_item_1,新字符串[]{“一”,“二”});
listView.setChoiceMode(listView.CHOICE\u MODE\u SINGLE);
setContentView(listView);
}
我已经多次阅读了有关DialogInterface、Dialog和AlertDialog的文档,但没有找到类似“AlertDialog.setOnClickListener()”这样的选项


解决方案必须没有AlertDialog.Builder。

请改用
OnItemClickListener

如果您想在不同的地方使用对话框,请在对话框中添加一个函数,并尝试使整个代码更加可重用

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

您正在扩展对话框还是alertdialog?alertdialog。我刚刚编辑过:)好的,你为什么不使用
OnItemClickListener
?好吧,我没想过,谢谢!请把它写下来作为答案,这样我可以检查一下:)谢谢,这个决定真的很简单:)