Blog chia sẻ kinh nghiệm lập trình Android


Chào các bạn hôm nay mình sẽ cùng với các bạn tìm hiểu về AutoCompleteText trong android. Loại này có tác dụng là khi bạn nhập một kí tự nào đó  ngay lập tức app sẽ kiểm tra xem trong mảng có những phần tử nào bắt đầu bằng kí tự nó  và sẽ xuất hiện cho bạn chọn. thuận tiện cho việc không biết rõ từ đó viết như thế nào. Bây giờ chúng ta cùng bắt đầu xây dựng ứng dụng này nha.

Mình tạo một app đơn giản gồm có tiêu đề , một AutoCompleteTextView  , giao diện như sau :



full code xml:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#7CFC00"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_marginTop="20dp"
        android:background="#ECAB53"
        android:layout_gravity="center"
        android:gravity="center"
        android:textSize="25dp"
        android:text="MÓN ĂN NGON YÊU THÍCH" />

    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:background="#FF4040"
        android:completionThreshold="1"
        android:ems="10"
        android:hint="chọn" >

        <requestFocus />
    </AutoCompleteTextView>


</LinearLayout>

Cách lấy nhanh AutoCompleteTextView
  


Vậy là xong phần giao diện. tiếp đó các bạn vào file java để có thể sử dụng AutoCompleteTextView.
Các bạn xem chú thích code sẽ làm được ngay @@, đơn giản đúng không!



Đây là full code java:


package com.example.autocompletetextview;

import android.os.Bundle;
import android.app.Activity;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;



public class MainActivity extends Activity {

TextView tvshow;
    AutoCompleteTextView auto;
    // mảng này chứa các từ cần được auto
    String[] item={"Gà Rán","Gà Quay","Gà Hầm","Gà Chiên","Thịt Lợ Quay","Cá Rán","Cá nấu"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        tvshow =(TextView) findViewById(R.id.textView1);
        auto =(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
     
        // add mảng vừa tạo vào autocompletextview
        auto.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,item));
        // event lắng nghe sự kiện autocompletextview
        auto.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
// sử dụng một trong 3 kiểu event : mình sử dụng event cuối này để bắt sự kiện
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
tvshow.setText(auto.getText());
}
});
    
    }
}



Các bạn chạy ứng dụng và kết quả như hình bên dưới là thành công : 



Chúc các bạn thành công :

Mọi thắc mắc các bạn liên hệ mình qua địa chỉ Gmail : svk10acntt@gmail.com hoặc Fb: John Ly Phạm



0 comments:

Post a Comment

http://knlaptrinhandroid.blogspot.com/

 
Top