本文主要是介绍listview中alertdialog弹窗问题(activity ,fragment),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天在做一个点击WiFi列表,然后弹出一个alertdialog,语法正确,显示WiFi列表,但是点击之后直接退出,不显示alertdialog,语法没什么问题,后来问题解决,new alertdialog.build(acivity)这个方法里面的参数使用出错,最开始使用getapplaication()或和获取applicationcontext(), 后来改成mainactivity.this解决问题,另附activity 下的alertdialog 弹出方法,和fragment实现方法。(代码在内网,本篇博客纯手打,但大致意思表述清楚了,后期会把实现WiFi列表刷新显示,根据信号强度显示图标的demo发布到新的博客上,我是java路上的一小白,各位大神不喜勿喷)
Activity 下的实现方法:
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
...
listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
ScanResult scanresult = list.get(position);
if(wifimanage.setWifiEnabled(true)){
//此处可以添加一个toast显示点击事件成功
}else{
//WiFi没有打开
}
AlertDialogBuilder dialog = new AlertDialog.Builder(MainActivity.this);
final EditText editText = new EditText(MainActivity.this);
wifiName = scanResult.SSID;
dialog.setTitle(scanResult.SSID);//设置dialog的标题
dialog.setCancelable(true);
dialog.setView(editText);
dialog.setPositiveButton(...........)
.............//设置不同按钮的点击事件。
})
}
ListFragment下使用方法
直接使用方法
public void onListItemClick(ListView l, View v,int position,long id){
super.onListItemClick(l,v,position,id);
ScanResult scanresult = list.get(position);
if(wifimanage.setWifiEnabled(true)){
//此处可以添加一个toast显示点击事件成功
}else{
//WiFi没有打开
}
AlertDialogBuilder dialog = new AlertDialog.Builder(MainActivity.this);
final EditText editText = new EditText(MainActivity.this);
wifiName = scanResult.SSID;
dialog.setTitle(scanResult.SSID);//设置dialog的标题
dialog.setCancelable(true);
dialog.setView(editText);
dialog.setPositiveButton(...........)
.............//设置不同按钮的点击事件。
})
}
这篇关于listview中alertdialog弹窗问题(activity ,fragment)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!