1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android AlertDiaog自定义EditText自动弹出软键盘

Android AlertDiaog自定义EditText自动弹出软键盘

时间:2021-06-02 23:51:29

相关推荐

Android AlertDiaog自定义EditText自动弹出软键盘

自定义AlertDialog

public class BaseAlertDialog implements OnClickListener{

private AlertDialog mAlertDialog;

private EditText number_et;

private Button cancel_btn;

private Button confirm_btn;

private Context mContext;

public BaseAlertDialog(Context context)

{

this.mContext = context;

mAlertDialog = new AlertDialog.Builder(mContext).create();

mAlertDialog.show();

mAlertDialog.setContentView(R.layout.base_dialog_main);

number_et = (EditText) mAlertDialog.findViewById(R.id.number_et);

cancel_btn = (Button) mAlertDialog.findViewById(R.id.cancel_btn);

confirm_btn = (Button) mAlertDialog.findViewById(R.id.confirm_btn);

cancel_btn.setOnClickListener(this);

confirm_btn.setOnClickListener(this);

number_et.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override

public void onFocusChange(View v, boolean hasFocus) {

((InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);

mAlertDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

mAlertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

}

});

}

private DialogNumber mDialogNumber;

public DialogNumber getmDialogNumber() {

return mDialogNumber;

}

public void setmDialogNumber(DialogNumber mDialogNumber) {

this.mDialogNumber = mDialogNumber;

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.cancel_btn:

mAlertDialog.dismiss();

break;

case R.id.confirm_btn:

if (number_et.getText().length() != 0) {

mDialogNumber.callBack(number_et.getText().toString());

mAlertDialog.dismiss();

}else{

Toast.makeText(mContext, " 值不能为空", 2000).show();

}

break;

}

}

public interface DialogNumber{

void callBack(String string);

}

}

主MainActivity:

public class MainActivity extends FragmentActivity implements OnClickListener,DialogNumber{

private Button btn_dialog;

private TextView number_tv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn_dialog = (Button) findViewById(R.id.btn_dialog);

number_tv = (TextView) findViewById(R.id.number_tv);

btn_dialog.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_dialog:

new BaseAlertDialog(MainActivity.this).setmDialogNumber(MainActivity.this);

break;

default:

break;

}

}

@Override

public void callBack(String string) {

number_tv.setText(string);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。