在android中无法关闭警报对话框
您好,我正在使用带有listview的警报对话框,它工作正常,但当我单击列表项时,我想取消该对话框,但它不工作,下面是我的代码段,有人能帮我解决这个问题吗在android中无法关闭警报对话框,android,listview,android-alertdialog,dismiss,Android,Listview,Android Alertdialog,Dismiss,您好,我正在使用带有listview的警报对话框,它工作正常,但当我单击列表项时,我想取消该对话框,但它不工作,下面是我的代码段,有人能帮我解决这个问题吗 public void setdailog() { final AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity()); // dialog.setContentView(R.layout.alert_list_radio
public void setdailog()
{
final AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity());
// dialog.setContentView(R.layout.alert_list_radio);
dialog.setTitle("Select Language");
View customView = LayoutInflater.from(getActivity()).inflate(
R.layout.alert_list, null, false);
ListView listView = (ListView) customView.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter = new AlertListAdapter(langList, getActivity());
listView.setAdapter(mAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
SELECTED_LANGUAGE = langList.get(position).getLangid();
System.out.println("JO JO"+SELECTED_LANGUAGE);
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
dialog.dismiss();
}
});
}
});
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
dialog.setView(customView);
dialog.show();
}
public void setdailog()
{
final AlertDialog.Builder dialog=新建AlertDialog.Builder(getActivity());
//setContentView(R.layout.alert\u list\u radio);
对话框.setTitle(“选择语言”);
View customView=LayoutFlater.from(getActivity())。充气(
R.layout.alert_list,null,false);
ListView ListView=(ListView)customView.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter=新的AlertListAdapter(langList,getActivity());
setAdapter(mAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
选择的_LANGUAGE=langList.get(position.getLangid();
System.out.println(“JO JO”+所选语言);
dialog.setOnDismissListener(新的DialogInterface.OnDismissListener(){
@凌驾
公共void onDismiss(对话框接口对话框){
dialog.dismise();
}
});
}
});
listView.setChoiceMode(listView.CHOICE\u MODE\u SINGLE);
对话框.setView(自定义视图);
dialog.show();
}
试试下面的方法
public void setdailog()
{
final AlterDialog alert;
final AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity());
// dialog.setContentView(R.layout.alert_list_radio);
dialog.setTitle("Select Language");
View customView = LayoutInflater.from(getActivity()).inflate(
R.layout.alert_list, null, false);
ListView listView = (ListView) customView.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter = new AlertListAdapter(langList, getActivity());
listView.setAdapter(mAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
SELECTED_LANGUAGE = langList.get(position).getLangid();
System.out.println("JO JO"+SELECTED_LANGUAGE);
// dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
// @Override
// public void onDismiss(DialogInterface dialog) {
// dialog.dismiss();
// }
if (alert != null && alert.isShowing()) {
alert.dismiss();
}
});
}
});
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
dialog.setView(customView);
alert = dialog.create();
alert.show();
}
public void setdailog()
{
最终警报;
final AlertDialog.Builder dialog=新建AlertDialog.Builder(getActivity());
//setContentView(R.layout.alert\u list\u radio);
对话框.setTitle(“选择语言”);
View customView=LayoutFlater.from(getActivity())。充气(
R.layout.alert_list,null,false);
ListView ListView=(ListView)customView.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter=新的AlertListAdapter(langList,getActivity());
setAdapter(mAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
选择的_LANGUAGE=langList.get(position.getLangid();
System.out.println(“JO JO”+所选语言);
//dialog.setOnDismissListener(新的DialogInterface.OnDismissListener(){
//@覆盖
//公共void onDismiss(对话框接口对话框){
//dialog.dismise();
// }
if(alert!=null&&alert.isShowing()){
警惕。解散();
}
});
}
});
listView.setChoiceMode(listView.CHOICE\u MODE\u SINGLE);
对话框.setView(自定义视图);
alert=dialog.create();
alert.show();
}
或
您可以创建自定义对话框,如下所示:
public void setdailog()
{
Dialog cpDialog = new Dialog(getActivity());
cpDialog.setTitle("Select Language");
cpDialog.setContentView(R.layout.alert_list);
ListView listView = (ListView) cpDialog.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter = new AlertListAdapter(langList, getActivity());
listView.setAdapter(mAdapter);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
cpDialog.dismiss();
}
});
cpDialog.show();
}
public void setdailog()
{
Dialog cpDialog=新建对话框(getActivity());
cpDialog.setTitle(“选择语言”);
cpDialog.setContentView(R.layout.alert_列表);
ListView ListView=(ListView)cpDialog.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter=新的AlertListAdapter(langList,getActivity());
setAdapter(mAdapter);
listView.setChoiceMode(listView.CHOICE\u MODE\u SINGLE);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
cpDialog.discouse();
}
});
cpDialog.show();
}
希望这对您有所帮助…如果您需要任何帮助,可以询问public void setdailog()
public void setdailog()
{
AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity());
// dialog.setContentView(R.layout.alert_list_radio);
dialog.setTitle("Select Language");
dialog.setView(customView);
View customView = LayoutInflater.from(getActivity()).inflate(
R.layout.alert_list, null, false);
ListView listView = (ListView) customView.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter = new AlertListAdapter(langList, getActivity());
listView.setAdapter(mAdapter);
final AlertDialog dialogOne = dialog.create();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
SELECTED_LANGUAGE = langList.get(position).getLangid();
System.out.println("JO JO"+SELECTED_LANGUAGE);
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
dialogOne.dismiss();
}
});
}
});
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
dialog.show();
}
{
AlertDialog.Builder dialog=新建AlertDialog.Builder(getActivity());
//setContentView(R.layout.alert\u list\u radio);
对话框.setTitle(“选择语言”);
对话框.setView(自定义视图);
View customView=LayoutFlater.from(getActivity())。充气(
R.layout.alert_list,null,false);
ListView ListView=(ListView)customView.findViewById(R.id.listiview_lang);
AlertListAdapter mAdapter=新的AlertListAdapter(langList,getActivity());
setAdapter(mAdapter);
final AlertDialog dialogOne=dialog.create();
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
选择的_LANGUAGE=langList.get(position.getLangid();
System.out.println(“JO JO”+所选语言);
dialog.setOnDismissListener(新的DialogInterface.OnDismissListener(){
@凌驾
公共void onDismiss(对话框接口对话框){
dialogOne.disclose();
}
});
}
});
listView.setChoiceMode(listView.CHOICE\u MODE\u SINGLE);
dialog.show();
}
您如何调用setdailog()
?在fab按钮的click Listener上有崩溃堆栈吗?没有,没有崩溃太多错误,甚至没有经过编辑的拼写..可以吗elaborate@Nilima你能解释一下你会犯哪些错误吗?嗨,我需要一个帮助嗨。。我能为您效劳吗?