您的位置:首页 > 其它

十五.AutoCompleteTextView与DatePickerDialog的使用

2012-03-02 15:38 302 查看
AutoCompleteTextView与DatePickerDialog的使用

一.AutoCompleteTextView自动提示文本框

1. 在布局文件中添加一个AutoCompleteTextView控件,设置好ID和各种属性。

2. 添加一个布局文件,例如autotext_list.xml用于应用于AutoCompleteTextView的下拉列表的样式。

3. Activity与Xlm布局文件代码如下:

<!-- AutoComputleteTextView控件 -->
<AutoCompleteTextViewandroid:id="@+id/autoText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>


<!-- 下拉列表样式代码 -->
<?xml version="1.0"encoding="utf-8"?>
<TextViewxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp"
android:textColor="#000">
</TextView>


//定义一个String[]数组,用于存放自动提示框查找的内容
static final String[] StrList = newString[]{
"abc","acd","ssdde","sdsa"
};

@Override
public void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AutoCompleteTextViewautoCompleteTextView = (AutoCompleteTextView)findViewById(paj.DatePicker.R.id.autoText);

List<String> autoTextDownList =new ArrayList<String>();
autoTextDownList.add("测试一");
autoTextDownList.add("测试二");
autoTextDownList.add("测测试三");

//创建一个ArrayAdapter对象
//第一个参数为 当前activity对象
//第二个参数为 下拉列表的样式布局文件
//第三个参数为 可以使List对象 也可以使String数组对象。
//使用String[]数组来填充ArrayAdapter
//ArrayAdapter<String>arrayAdapter = new ArrayAdapter<String>(this,R.layout.auto_list,StrList);
//使用List来填充ArrayAdapter
ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(this,R.layout.auto_list , autoTextDownList);
autoCompleteTextView.setAdapter(arrayAdapter);
}


二.DatePickerDialog与TimePickerDialog的使用

1. 在布局文件中添加两个按钮。用于启动设置时间和设置日期的Dialog按钮

2. 在Acitivyt中为两个按钮分别设置监听事件。分别调用showDialog

3. Activity代码如下:

package paj.DatePicker;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
importandroid.app.DatePickerDialog;
import android.app.Dialog;
importandroid.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.ArrayAdapter;
importandroid.widget.AutoCompleteTextView;
import android.widget.Button;
importandroid.widget.DatePicker;
importandroid.widget.TimePicker;

public class DatePickerActivityextends Activity {
/** Called when the activity is firstcreated. */

privatestatic final int DATE_PICKER_DIAOG_ID= 1;
privatestatic final int TIME_PICKER_DIAOG_ID = 2;

@Override
public void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//设置弹出日期设置窗口的监听事件
Button showDate =(Button)findViewById(R.id.ShowDate);
showDate.setOnClickListener(newOnClickListener() {
publicvoid onClick(View v) {
//TODO Auto-generated method stub
showDialog(TIME_PICKER_DIAOG_ID);
}
});

//设置弹出时间设置窗口的监听事件
Button showTime = (Button)findViewById(R.id.ShowTime);
showTime.setOnClickListener(newOnClickListener() {
publicvoid onClick(View v) {
//TODO Auto-generated method stub
showDialog(TIME_PICKER_DIAOG_ID);
}
});

}

//为DatePickerDialog设置按钮的监听器
DatePickerDialog.OnDateSetListeneronDateSetListener = new DatePickerDialog.OnDateSetListener() {
publicvoid onDateSet(DatePicker view, int year, int monthOfYear,
intdayOfMonth) {
//TODO Auto-generated method stub
System.out.println("日期--->" + year+ "-" + monthOfYear + "-" + dayOfMonth);
}
};
//为TimePickerDialog设置按钮的监听器
TimePickerDialog.OnTimeSetListeneronTimeSetListener = new TimePickerDialog.OnTimeSetListener() {

publicvoid onTimeSet(TimePicker view, int hourOfDay, int minute) {
//TODO Auto-generated method stub
System.out.println("时间--->" +hourOfDay + "--" + minute);
}
};

//重写OnCreateDialog函数,根据ID号弹出DatePickerDialog或是TimePickerDialog
@Override
protectedDialog onCreateDialog(int id) {
switch(id) {
caseDATE_PICKER_DIAOG_ID:
//第一个参数是当前Activity的对象
//第二个参数是设置弹出窗口的设置按钮的监听事件
//第三 四 五个参数分别为设置 年 月 日 。【月份是以0月开始】如果设置成0月在Dialog窗口中则显示1
returnnew DatePickerDialog(DatePickerActivity.this, onDateSetListener, 2011, 11, 21);
caseTIME_PICKER_DIAOG_ID:
//第一个参数是当前Activity的对象
//第二个参数为设置窗口的设置按钮监听事件
//第三个参数是设置小时
//第四个参数是设置分钟
//第五个参数是设置是否启动24小时制
returnnew TimePickerDialog(this, onTimeSetListener, 12, 12 , false);
}
returnnull;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: