package com.google.android.apps.common.testing.ui.testapp;
import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
/**
* Custom edit text widget.
*/
public class DelegatingEditText extends LinearLayout {
private final EditText delegateEditText;
private final TextView messageView;
private final Context mContext;
public DelegatingEditText(Context context) {
this(context, null);
}
public DelegatingEditText(Context context, AttributeSet attrs) {
super(context, attrs);
setOrientation(VERTICAL);
mContext = context;
LayoutInflater inflater = LayoutInflater.from(context);
inflater.inflate(R.layout.delegating_edit_text, this, /* attachToRoot */ true);
messageView = (TextView) findViewById(R.id.edit_text_message);
delegateEditText = (EditText) findViewById(R.id.delegate_edit_text);
delegateEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionCode, KeyEvent event) {
messageView.setText("typed: " + delegateEditText.getText());
messageView.setVisibility(View.VISIBLE);
InputMethodManager imm =
(InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(delegateEditText.getWindowToken(), 0);
return true;
}
});
}
}