Android开发笔记
1.使用AlertDialog.Builder 对话框自定义view,并通过setview设置
AlertDialog.Builder dlgAlert; dlgAlert = new AlertDialog.Builder(this); LayoutInflater inflater = getLayoutInflater(); dlgAlert.setTitle("用户协议"); //dlgAlert.setMessage(R.string.agreement); View checkView=inflater.inflate(R.layout.agreedialogview,null); dlgAlert.setView(checkView); CheckBox agreeCheck=(CheckBox)checkView.findViewById(R.id.checkBox_agree);; dlgAlert.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { // if this button is clicked, close current activity if (agreeCheck.isChecked()) { init(); } else { finish(); System.exit(0); } } }).create(); dlgAlert.setNeutralButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { // if this button is clicked, close current activity finish(); System.exit(0); } }).create(); dlgAlert.show();
这里要想在对话框按钮的监听事件中调用xml布局里面的控件,不能直接findViewById,需要这样写
View checkView=inflater.inflate(R.layout.agreedialogview,null); dlgAlert.setView(checkView); CheckBox agreeCheck=(CheckBox)checkView.findViewById(R.id.checkBox_agree);;
对话框.show()函数之后才可以调用,
2.wab页面打不开和无法下载问题
提示:
位于..... 的网页无法加载,因为:net::ERR_CLEARTEXT_NOT_PERMITTED
原因是从Android 6.0开始引入了对Https的推荐支持,与以往不同,Android P的系统上面默认所有Http的请求都被阻止了。
解决方法如下:
在清单文件里加入android:usesCleartextTraffic="true"这句
<?xml version="1.0" encoding="utf-8"?> <manifest ...> <uses-permission android:name="android.permission.INTERNET" /> <application ... <!-- 加入下面这句 --> android:usesCleartextTraffic="true" ...> ... </application> </manifest>
未完待续