gpt4 book ai didi

android - 在调用适配器的 OnClickListener 期间关闭 AlertDialog

转载 作者:太空狗 更新时间:2023-10-29 16:05:13 24 4
gpt4 key购买 nike

我的 DialogFragment 中有下一个代码:

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Log.i(getClass().getName(), "onCreateDialog");
final FileSystemAdapter adapter = getAdapter();
adapter.showFS(null);

AlertDialog b = new AlertDialog.Builder(getActivity())
.setTitle(title)
.setCancelable(false)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//some actions
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dismiss();
}
})
.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
adapter.showFS(adapter.getItem(i));
}
})
.create();
return b;
}

点击列表元素后,调用最后一个onClick方法,然后关闭对话框。


如何防止此行为并在调用dismiss 方法之前保持对话框打开?

最佳答案

您可以创建一个新的 ListView 并将其设置为 AlertDialog.Builder 中的自定义 View ,并将您的 OnClickListener 代码放入 listView 中的 OnItemClickListener 中。尝试这样的事情:

ListView listView = new ListView(this);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new ListView.OnItemClickListener() {
public void onItemClick(AdapterView<?> listView, View itemView, int position, long itemId) {
adapter.showFS(adapter.getItem(position));
}
});

AlertDialog b = new AlertDialog.Builder(getActivity())
.setTitle(title)
.setCancelable(false)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//some actions
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dismiss();
}
})
.setView(listView)
.create();
return b;

关于android - 在调用适配器的 OnClickListener 期间关闭 AlertDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17262478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com