一、目标
1、完成“高级工具”页面布局、组件、点击事件等处理
2、完成“号码归属地查询”页面布局、组件、点击事件等处理
二、代码实现
1、在项目包(com.example.mobilesafe)下新建一个类(取名AToolsActivity)继承Activity,作为“高级工具”选项的主页面,并在清单文件中注册,同时在res文件夹下的layout文件夹下新建xml文件(取名activity_atools)作为新建类(AToolsActivity)的布局文件;
2、在程序主页面(HomeActivity)中switch...case...语句中新增case 7,并通过Intent对象启动1中新建的类;
启动代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 case 7://进入”高级工具“ 2 Intent intent7 = new Intent(HomeActivity.this, 3 AToolsActivity.class); 4 startActivity(intent7); 5 break;
3、在AToolsActivity类的布局文件(activity_atools)中根据需要完成相关组件的布局,在为TextView组件设置点击事件(onClick)时需要先设置其clickable(可点击)属性值为true,本例中的点击事件名称为“enterNumberAddQueryActivity”,并在AToolsActivity类中实现该点击事件的处理,用于从“高级工具”页面进入“号码归属地查询”页面;
4、由于点击事件(enterNumberAddQueryActivity,进入号码归属地查询页面)需要重新启动一个Activity,因此需在项目包(com.example.mobilesafe)下新建一个类(取名NumberAddQueryActivity)继承Activity,用于实现号码归属地查询,再于清单文件中完成注册,同时为其建立布局文件,并按要求完成相关组件的布局、id、点击事件(numberAddQuery,查询号码归属地);
5、在点击事件(enterNumberAddQueryActivity)处理方法中,通过Intent对象启动“号码归属地查询”类(NumberAddQueryActivity);
enterNumberAddQueryActivity点击事件处理代码:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 public void enterNumberAddQueryActivity(View view) { 2 Intent intent = new Intent(this,NumberAddQueryActivity.class); 3 startActivity(intent); 4 }
6、在“号码归属地查询”类(NumberAddQueryActivity)中实例化布局文件中的相关组件并通过findViewById()方法找到,新建点击事件(numberAddQuery,查询号码归属地)处理方法;
7、在点击事件(numberAddQuery,查询号码归属地)处理方法中,通过EditText对象(number_query_phone)的getText()方法获取其中文本,再通过toString()和trim()方法获取String类型的电话号码,判断电话号码是否为空,若为空则提醒,若不为空则从数据库中查询号码归属地。
numberAddQuery点击事件处理代码;
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 public void numberAddQuery(View view){ 2 String phone_number = number_query_phone.getText().toString().trim(); 3 if(TextUtils.isEmpty(phone_number)){ 4 Toast.makeText(this, "查询号码为空", Toast.LENGTH_SHORT).show(); 5 return; 6 }else{ 7 //去数据库查询号码归属地 8 System.out.println("查询号码为:"+phone_number); 9 } 10 }