Открыть диалог TextView с EditText - PullRequest
0 голосов
/ 09 мая 2011

В Android я хочу сделать TextView, который, когда мы нажимаем на это открытое диалоговое окно с текстом редактирования.

1 Ответ

7 голосов
/ 09 мая 2011
TextView mClientName;
mClientName = (TextView) findViewById(R.id.EnterName);
mClientName.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View mView, MotionEvent mMotionEvent) {
    getClientNameDialog();
    return false;
}});

private void getClientNameDialog() {
    View mView = View.inflate(Aura.this, R.layout.getclientname, null);
    mSavedClientName = ((EditText) mView.findViewById(R.id.GetClientName));

    final InputMethodManager mInputMethodManager = (InputMethodManager) Aura.this
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    mInputMethodManager.restartInput(mView);

    AlertDialog.Builder mBuilder = new AlertDialog.Builder(Aura.this);
    mBuilder.setTitle(getString(R.string.enterclientname));
    mBuilder.setPositiveButton(getString(R.string.save), new Dialog.OnClickListener() {
        public void onClick(DialogInterface mDialogInterface, int mWhich) {
        mGetClientNameString = SavedClientName.getText().toString().trim();
        if (mGetClientNameString.length() > 0) {
            mClientName.setText(mGetClientNameString);
            mInputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
                mDialogInterface.dismiss();
        }
      }
    });
    mBuilder.setView(mView);
    mBuilder.show();

    if (mInputMethodManager != null) {
    mInputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
    }
}
...