View(视图)——AutoCompleteTextView 、Spinner和消息提示

一.AutoCompleteTextView 自动提示文本输入框

1.属性:不区分大小写。

2.ArrayAdapter  适配器

数据源是String[ ]或集合,保存要提示的文本;layout文件。

3.completionThreshold:设置提示需要的最少字符数,默认是2。

二.Spinner 下拉列表

1.ArrayAdapter  适配器

数据源是String[ ]或集合,保存要提示的文本;layout文件。

2.监听器   AdapterView.OnItemSelectedListener()

1-void onItemSelected(AdapterView<?> parent, View view, int position, long id)

2-void onNothingSelected(AdapterView<?> parent)

三.消息提示

1.Toast

1-makeText(),构建并返回Toast;

1>context

2>消息内容

3>显示时间长短:Toast.LENGTH_SHORT 短  /  Toast.LENGTH_LONG 长。

2-show()  显示

2.Notification 状态消息栏(可以跳转到Activity上)

1-得到NotificationManager

1>(NotificationManager)getSystemService(NOTIFICATION_SERVICE)

2>NotificationManager是系统内置的Service

2-构建Notification

new Notification.Builder()   构建器

1>setContentTitle  设置内容标题

2>setContentText  设置内容文本

3>setSmallIcon   设置图标

4>setTicker  设置状态栏提示

5>setDefaults   设置提示方式 :Notification.DEFAULT_SOUND  声音,其他需要授权。

6>setAutoCancel   设置是否点击跳转后自动消失:默认是 true。

7>setContentIntent   设置内容意图

<1>创建Intent

<2>生成 PendingIntent   pi  =  PendingIntent.getActivity(context, 0 请求码, intent 意图, 0  标记);

8>build( )  创建并返回Notification

3-由NotificationManager发送消息

notify(id,消息);

代码及效果图展示:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.example.wang.testapp2.TestActivity11"
11     android:orientation="vertical">
12
13     <AutoCompleteTextView
14         android:layout_width="match_parent"
15         android:layout_height="wrap_content"
16         android:hint="请输入..."
17         android:id="@+id/at_1"
18         android:completionThreshold="1"/>
19
20     <LinearLayout
21         android:layout_width="match_parent"
22         android:layout_height="wrap_content">
23         <TextView
24             android:layout_width="wrap_content"
25             android:layout_height="wrap_content"
26             android:text="学历:"/>
27
28         <Spinner
29         android:layout_width="0dp"
30         android:layout_weight="1"
31         android:layout_height="wrap_content"
32         android:id="@+id/sp_1"></Spinner>
33     </LinearLayout>
34
35     <Button
36         android:layout_width="match_parent"
37         android:layout_height="wrap_content"
38         android:text="发送状态栏消息"
39         android:onClick="bt_OnClick"/>
40 </LinearLayout>

.xml

 1 package com.example.wang.testapp2;
 2
 3 import android.app.Notification;
 4 import android.app.NotificationManager;
 5 import android.app.PendingIntent;
 6 import android.content.Intent;
 7 import android.support.v7.app.AppCompatActivity;
 8 import android.os.Bundle;
 9 import android.view.View;
10 import android.widget.AdapterView;
11 import android.widget.ArrayAdapter;
12 import android.widget.AutoCompleteTextView;
13 import android.widget.Spinner;
14 import android.widget.Toast;
15
16 public class TestActivity11 extends AppCompatActivity {
17
18     AutoCompleteTextView at_1;
19
20     Spinner sp_1;
21
22     @Override
23     protected void onCreate(Bundle savedInstanceState) {
24         super.onCreate(savedInstanceState);
25         setContentView(R.layout.activity_test11);
26
27         at_1=(AutoCompleteTextView)findViewById(R.id.at_1);
28         sp_1=(Spinner)findViewById(R.id.sp_1);
29
30         //准备数据源
31         String [] strings={"abc","and","bea","car","abcde","AAAaaa","anddd"};
32
33         //准备适配器
34         ArrayAdapter<String> aa=new ArrayAdapter<String>(this,R.layout.array_adapter,strings);
35
36         //给组件设置适配器
37         at_1.setAdapter(aa);
38
39         //下拉列表
40         final String [] xl={"高中","专科","本科","硕士","博士"};
41
42         ArrayAdapter<String> sp=new ArrayAdapter<String>(this,R.layout.array_adapter,xl);
43
44         sp_1.setAdapter(sp);
45
46         //监听器
47         sp_1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
48             @Override
49             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
50
51                 Toast.makeText(TestActivity11.this, "选中的项目是"+xl[position], Toast.LENGTH_SHORT).show();
52             }
53
54             @Override
55             public void onNothingSelected(AdapterView<?> parent) {
56
57                 Toast.makeText(TestActivity11.this, "什么也没选", Toast.LENGTH_SHORT).show();
58             }
59         });
60
61
62     }
63
64
65     //发消息
66     public void bt_OnClick(View v)
67     {
68         //1.得到状态栏消息管理器
69         NotificationManager nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
70
71         //准备PendingIntent
72         //1)创建Intent
73         Intent intent=new Intent(this,TestActivity1.class);
74
75         //2)生成
76         PendingIntent pi=PendingIntent.getActivity(this, 0, intent, 0);
77
78         //2.构建状态栏消息
79          Notification nt=new Notification.Builder(this)
80                  .setContentTitle("天气预报")
81                  .setContentText("明天晴,气温30℃")
82                  .setSmallIcon(R.drawable.tianqi)
83                  .setTicker("新的天气预报")
84                  .setDefaults(Notification.DEFAULT_SOUND)
85                  .setAutoCancel(false)
86                  .setContentIntent(pi)
87                  .build();
88
89
90         //3.由管理器发送消息
91         nm.notify(0,nt);
92
93     }
94 }

.java

时间: 2024-10-08 14:51:19

View(视图)——AutoCompleteTextView 、Spinner和消息提示的相关文章

Android——AutoCompleteTextView、Spinner和消息提示

layout文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="ma

通过findViewById()方法从layout中获取view并进行相应的转换时提示:&quot;Cannot cast from View to AutoCompleteTextView&quot;的解决办法!(转+自己错误)

转:http://blog.csdn.net/zyz511919766/article/details/7453864 代码: 1 package zyz.example.autocompletetextview; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.widget.ArrayAdapter; 6 7 public class AutoCompleteTextView exten

android 消息提示机制

消息提示机制 一 对话框 Dialog AlertDialog 对话框有:标准对话框, 菜单式对话框, 菜单式复选框对话框,自定义对话框 (注意:这里的上下文公用了,代码的点击方法我已经在点击监听事件里注册了) 1 标准对话框: 在布局界面写好按钮,然后设置点击事件, 在事件种创建 dialog 的构造器 AlertDialog.Builder builder = new AlertDialog.Builder(context); 然后用构造器设置dialog的各种属性,最后create,sho

Android消息提示:AlertDialog、Toast、Notification的使用

主要介绍Android常用于消息提示的组件:ALertDialog.Toast.Notification的使用场景以及它们的基本用法,探讨一些高级主题,最后总结一些开发过程中常见的问题. 首先我们来对这三种消息提示机制来一个直观的认识,分别是AlertDialog Toast.Notification 接下来分别介绍这三种机制各自对应的使用场景和用法 AlertDialog 使用场景:AlertDialog在应用内的使用还是很常见的,常用于让用户做出某种选择,而这种选择一定是简单的交互,如果是复

Android消息提示框Toast

Toast是Android中一种简易的消息提示框.和Dialog不一样的是,Toast是没有焦点的,toast提示框不能被用户点击,而且Toast显示的时间有限,toast会根据用户设置的显示时间后自动消失. 创建Toast的方法总共有2种: 1.Toast.makeText(Context context, (CharSequence text)/( int resId), int duration) 参数:context是指上下文对象,通常是当前的Activity,text是指自己写的消息内

10. Android框架之 AppMsg(消息提示)

1. AppMsg 优雅的弹出类似Toast的消息提示,支持3种状态Alert(警告),Confirm(确认)以及Info(消息).        2. AppMsg使用: (1)AppMsg下载地址: https://github.com/johnkil/Android-AppMsg (2)下载成功之后,解压如下: (3)导入library 和 sample 分别导入Eclipse如下: (4)首先我们来到主布局文件activity_main.xml,如下: 1 <ScrollView xml

iOS 实现角标 新消息提示红点 数字角标

镔哥今天写写实习新消息提示的小圆圈数字角标 直接上代码吧. 1:直接复杂uibarButton类 // //  UIBarButtonItem+Badge.h //  therichest // //  Created by 淘股 on 2015-05-05. //  Copyright (c) 2015 taogu Inc. All rights reserved. // #import <UIKit/UIKit.h> @interface UIBarButtonItem (Badge) @

仿微信新消息提示音

怕有些人不知道怎么进入微信的新消息提示音功能,我这里说下操作步骤: 打开微信----我---设置---新消息提醒---新消息提示音. 经过以上的步骤就进入了这样的界面 具体实现的步骤. 难点之一:获取到手机系统的提示音,并将它们显示在一个listview里面. 参考如下代码: // 获得RingtoneManager对象   RingtoneManager manager = new RingtoneManager(this);   // 设置RingtoneManager对象的类型为TYPE_

DNS主从服务,子域授权,view视图,日志系统,压力测试rsync配置

DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140.165.169 关闭防火墙,关闭selinux. 主服务器建立: [[email protected] ~]# yum -y install bind-util bind #安装bind服务 [[email protected] ~]# vim /etc/named.conf #编辑主配置文件 o