Android 如何在没有AlertDialog.Builder的情况下设置DialogInterface.OnClickListener?
我想创建自定义AlertDialog,但不创建AlertDialog.Builder。我将ListView设置为内容视图,并希望在其项上设置DialogInterface.OnClickListener 下面是自定义MyAlertDialog扩展AlertDialog的onCreate()方法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);
@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
?好吧,我没想过,谢谢!请把它写下来作为答案,这样我可以检查一下:)谢谢,这个决定真的很简单:)