Android DatePicker和AutoCompleteTextView的基本使用

一、DatePicker

1.什么是DatePicker,看一个图就会知道了。

image

2.创建DatePickerDialog的步骤。

2.1 声明一个监听器,使用匿名内部类。

1
2
3
4
5
6
7
8
9
//监听器,用户监听用户点下DatePikerDialog的set按钮时,所设置的年月日
    DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            System.out.println(year + "-" + monthOfYear + "-" + dayOfMonth);
        }
    };

2.2 复写onCreateDialog(int id)方法:

1
2
3
4
5
6
7
8
@Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_PICKER_ID:
            return new DatePickerDialog(this, onDateSetListener, 2010, 11, 25);
        }
        return null;
    }

2.3完整代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package lpq.dateandtime;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    private Button showDatePickerButton = null;
    //该常量用于标识DatePickerDialog
    private static final int DATE_PICKER_ID = 1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        showDatePickerButton = (Button) findViewById(R.id.showDatePickerButton);
        showDatePickerButton.setOnClickListener(new ButtonListener());
    }

    private class ButtonListener implements OnClickListener {

        @Override
        public void onClick(View v) {
            //此方法用于显示DatePickerDialog
            showDialog(DATE_PICKER_ID);
        }

    }
    //监听器,用户监听用户点下DatePikerDialog的set按钮时,所设置的年月日
    DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            System.out.println(year + "-" + monthOfYear + "-" + dayOfMonth);
        }
    };

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_PICKER_ID:
            return new DatePickerDialog(this, onDateSetListener, 2010, 11, 25);
        }
        return null;
    }

}

 

二、AutoCompleteTextView

1.什么是AutoCompleteTextView,继续看图:

image

2.创建一个AutoCompleteTextView的方法:

2.1 在布局文件当中声明一个AutoCompleteTextView

1
2
3
4
 <AutoCompleteTextView android:id="@+id/autocomplete"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_marginLeft="5dp"/>

2.2 在res/layout文件夹下新建一个布局文件,名为list_item.xml

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns: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>

2.3 创建一个ArrayAdapter提供数据:

1
2
3
4
5
6
 //创建一个list,为ArrayAdapter提供数据
        List<String> list = new ArrayList<String>();
        list.add("测试测试");
        list.add("测试test");
        //创建一个ArrayAdapter对象
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.list_item,list);

2.4 完整代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //通过ID得到AutoCompleteTextView对象
        autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.autocomplete);
        //创建一个list,为ArrayAdapter提供数据
        List<String> list = new ArrayList<String>();
        list.add("测试测试");
        list.add("测试test");
        //创建一个ArrayAdapter对象
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.list_item,list);
        //将ArrayAdapter设置给AutoCompleteTextView对象
        autoCompleteTextView.setAdapter(arrayAdapter);
       
    }

 

除非注明,饮水思源博客文章均为原创,转载请以链接形式标明本文地址

本文地址:http://www.alonemonkey.com/android-date-auto.html

本文链接:http://www.alonemonkey.com/android-date-auto.html