如何在没有AlertDialog.Builder的情况下设置DialogInterface.OnClickListener?
问题描述:
我想创建自定义AlertDialog,但没有AlertDialog.Builder。我将ListView设置为内容视图,并希望在其项目上设置DialogInterface.OnClickListener。如何在没有AlertDialog.Builder的情况下设置DialogInterface.OnClickListener?
这里是我的方法定制MyAlertDialog的的onCreate()扩展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,对话和AlertDialog多次文档,但我没有找到像选项“AlertDialog.setOnClickListener()”。
该解决方案必须是没有AlertDialog.Builder。
答
使用OnItemClickListener
代替。
如果你想用你的对话在不同的地方,一个功能添加到您的对话框,并设法使你的整个代码的可重用性。
public void setOnItemClickListener(OnItemClickListener listener){
listView.setOnItemClickListener(listener);
}
+0
谢谢,这个决定非常简单:) – QuickNick
你扩展对话框或者alertdialog? –
AlertDialog。我刚才编辑:) – QuickNick
好的,为什么不使用'OnItemClickListener'? –