主要是用于dialog的內(nèi)容變化但是部分內(nèi)容不變復(fù)用方便寫的
publicclassMainDialogextendsDialogimplementsView.OnClickListener{
privateViewroot;
privateViewGroupcontainer;
privateButtonbtnObtain;
privateIWheelPickerpicker;
privateStringdata;
publicMainDialog(Contextcontext) {
super(context);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setBackgroundDrawable(newColorDrawable(Color.TRANSPARENT));
setCanceledOnTouchOutside(true);
setOnDismissListener(newOnDismissListener() {
@Override
publicvoidonDismiss(DialogInterfacedialog) {
container.removeAllViews();
}
});
//我們?yōu)閐ialog設(shè)置一個(gè)布局文件
root=getLayoutInflater().inflate(R.layout.ac_main_dialog,null);
//跟布局里面的動(dòng)態(tài)添加布局的容器
container=(ViewGroup) root.findViewById(R.id.main_dialog_container);
//公用的確認(rèn)按鈕
btnObtain=(Button) root.findViewById(R.id.btn_obtain);
btnObtain.setOnClickListener(this);
}
//復(fù)寫他的setcontentview()方法,將我們自定義的布局添加到我們的跟容器中,這樣可以在代碼中靈活的設(shè)置了,
@Override
publicvoidsetContentView(Viewview) {
if(viewinstanceofIWheelPicker) {
picker=(IWheelPicker) view;
picker.setOnWheelChangeListener(newAbstractWheelPicker.SimpleWheelChangeListener() {
@Override
publicvoidonWheelScrollStateChanged(intstate) {
if(state!=AbstractWheelPicker.SCROLL_STATE_IDLE) {
btnObtain.setEnabled(false);
}else{
btnObtain.setEnabled(true);
}
}
@Override
publicvoidonWheelSelected(intindex,Stringdata) {
MainDialog.this.data=data;
}
});
}
container.addView(view);
super.setContentView(root);
}
@Override
publicvoidonClick(Viewv) {
switch(v.getId()) {
caseR.id.btn_obtain:
Toast.makeText(getContext(), data,Toast.LENGTH_SHORT).show();
break;
}
}
}