Blog chia sẻ kinh nghiệm lập trình Android
Xin chào các bạn, sau mấy ngày nghỉ tết hôm nay chúng ta lại tiếp tục quay trở lại với lập trình, bài hôm nay mình giới thiệu các bạn về một loại chọn phần tử nữa trong android đó là : spinner
Spinner là một l kiểu chọn một giá trị trong một mảng. giao diện dễ dùng. muốn có một spinner ta khai báo như sau ;
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF" />
Bài này mình tạo giao diện đơn giản như sau :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000003"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textSize="30dp"
android:text="SPRINNER" />
<TextView
android:id="@+id/tvxhow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textSize="24dp"
android:hint="show" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF" />
</LinearLayout>
Để sử dụng được spinner vừa tạo ra, tại main java chúng ta làm như sau :
full code : các bạn xem chú thích sẽ hiểu code :
package hom.example.spinner;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tv1,tvshow;
// khai báo spinner như các phần tử khác
Spinner sp;
// gán một mảng String cho spinner, đây là cách thêm kiểu tĩnh
String[] item={"Ha Noi","Hai Phong","Quang Ninh"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1=(TextView) findViewById(R.id.textView1);
tvshow=(TextView) findViewById(R.id.tvxhow);
sp= (Spinner) findViewById(R.id.spinner1);
// khai báo một mảng ArrayAdapter có kiểu String với item là mảng string vừa khai báo ở trên
ArrayAdapter<String> adapter=new ArrayAdapter<String>
(this, android.R.layout.simple_spinner_item,item);
// chọn kiểu hiển thị khi click vào spinner giống dạng một dialog custom
adapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoice);
// thêm mảng ArrayAdapter vừa tạo vào spinner
sp.setAdapter(adapter);
// phương thức bắt sự kiện spinner
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// arg2 là vị trí của phần tử trong mảng tính từ 0,1,2..
//item[arg2] là giá trị hay tên phần tử tương ứng vị trí arg2
tvshow.setText("Stt : "+arg2+ " ,gia trị : "+item[arg2]);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}
Và ta chạy ứng dụng sẽ được kết quả như sau :
click vào spinner sẽ hiện lên một dialog. có 3 tên để chọn đó là mảng String item ta gán vào .
Khi chọn vào Hải Phòng ta được như sau :
từ đó các bạn có thể sử dụng để lấy giá trị của spinner để phục vụ cho yêu cầu ứng dụng của các bạn.
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/