Android开发实现AlertDialog中View的控件设置监听功能分析
本文实例讲述了Android开发实现AlertDialog中View的控件设置监听功能。分享给大家供大家参考,具体如下:
之前给弹出的AlertDialog中的控件设置监听时,老是报空指针异常,之所以报空指针异常,是因为我findViewById写的有问题,因为我们需要给弹出框中的控件设置监听,直接用findViewById是找不到弹出框中的控件的,需要利用Dialog.findViewById或者利用你找到的弹出框中的View,然后view.findViewById;具体看下面代码
packagecom.example.mydialog; importandroid.app.Activity; importandroid.app.AlertDialog; importandroid.content.Intent; importandroid.net.Uri; importandroid.os.Bundle; importandroid.util.Log; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.ImageButton; importandroid.widget.Toast; /** *@author郑明亮 *@date2015-11-4下午1:57:31 *@version1.0 */ publicclasssecondActivityextendsActivityimplementsOnClickListener{ Buttonbtshow,bt_emial,bt_blog; ImageButtonbtcancel; @Override publicvoidonCreate(BundlesavedInstanceState){ //TODOAuto-generatedmethodstub super.onCreate(savedInstanceState); setContentView(R.layout.second); finalAlertDialogdialog=newAlertDialog.Builder(secondActivity.this).create(); dialog.show(); dialog.getWindow().setContentView(R.layout.myxml);//重点看这获取弹出框内的视图view //btshow=(Button)findViewById(R.id.bt_show); btcancel=(ImageButton)dialog.findViewById(R.id.bt_cancel);//重点看这行的Dialog bt_blog=(Button)dialog.findViewById(R.id.bt_blog); bt_emial=(Button)dialog.findViewById(R.id.bt_email); bt_blog.setOnClickListener(this); bt_emial.setOnClickListener(this); btcancel.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewarg0){ dialog.dismiss(); Toast.makeText(secondActivity.this,"clicked",0).show(); Log.e("log","click"); } }); } @Override publicvoidonClick(Viewarg0){ switch(arg0.getId()){ caseR.id.bt_blog: Uriuri=Uri.parse("https://www.nhooo.com"); Intentit=newIntent(Intent.ACTION_VIEW,uri); startActivity(it); break; caseR.id.bt_email: Uriuri1=Uri.parse("https://www.nhooo.com"); Intentit1=newIntent(Intent.ACTION_VIEW,uri1); startActivity(it1); break; default: break; } } }
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。