listview中alertdialog弹窗问题(activity ,fragment)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011976443/article/details/79422162

       今天在做一个点击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(...........)

.............//设置不同按钮的点击事件。

})

}





猜你喜欢

转载自blog.csdn.net/u011976443/article/details/79422162