Android-下拉框,利用AlertDialog來實現

利用Spinner可以實現下拉框,效果如下


其實完全可以用AlertDialog來實現。

AlertDialog有一個方法:public AlertDialog.Builder setAdapter (ListAdapter adapter, DialogInterface.OnClickListener listener)  

可以很自然的聯想到,左邊是對應的list數據adapter,右邊就是對應的點擊事件。於是乎,用AlertDialog就能很容易的實現下拉框咯!而且用Adapter可以很容易的自定義下拉框的樣式等等!

1、自定義下拉框每個item的listAdapter

Adapter --(繼承)--> ListAdapter
                  |--BaseAdapter-->  ArrayAdapter
                  |--BaseAdapter-->  SimpleAdapter

定義一個繼承自BaseAdapter的類MyDialogListAdapter ;

public class MyDialogListAdapter extends BaseAdapter {

}

2、將對應的數據list填入到這個adapter中

heightListAdapter = new MyDialogListAdapter(this, heightDataList);


3、設置按鈕的點擊事件,點擊後顯示出下拉框形式的dialog

heightView.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
TextView titleView = (TextView) LayoutInflater.from(GradeImageActivity.this).inflate(R.layout.dialog_title_view, null);
titleView.setText("選擇身高");
new AlertDialog.Builder(GradeImageActivity.this)
.setCustomTitle(titleView)
.setAdapter(heightListAdapter,
new DialogInterface.OnClickListener() {


@Override
public void onClick(DialogInterface dialog,int which) {
heightTextView.setText(heightDataList.get(which));
}

}).show();
}

});

又自定了title的view,簡單的將title置中。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章