i want to put \"Go\" button in android appliation softkeyboard
for search and other related scenarios can any one guide me how to achieve this? with example.
any
I am doing same this for "send":
Use this class in your layout :
public class ActionEditText extends EditText { public ActionEditText(Context context) { super(context); }
public ActionEditText(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public ActionEditText(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs)
{
InputConnection conn = super.onCreateInputConnection(outAttrs);
outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;
return conn;
}
}
In xml:
<com.test.custom.ActionEditText
android:id="@+id/postED"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/transparent"
android:gravity="top|left"
android:hint="@string/msg_type_message_here"
android:imeOptions="actionSend"
android:inputType="textMultiLine"
android:maxLines="5"
android:padding="5dip"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:textColor="@color/white"
android:textSize="20sp" />
finally i used...
EditText SearchEditText =(EditText)findViewById(R.id.txtMapSearch);
SearchEditText.setOnEditorActionListener(new OnEditorActionListener(){
@Override
public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {
if(arg1 == EditorInfo.IME_ACTION_SEARCH)
{
// search pressed and perform your functionality.
}
return false;
}
});
If your question is that you have an EditText or editable TextView, and you want the action right button on the softkeyboard to read "Go" then add this attribute to your EditText/TextView
android:imeActionLabel="actionGo"
note that it will also have to be a single line TextView as otherwise the action button will be a carriage return selector (an arrow).
android:singleLine="true"
I used
android:imeOptions="actionGo"
and to handle go action I ma using
etSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_GO || actionId == EditorInfo.IME_ACTION_DONE) {
//your functionality
// hide virtual keyboard
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(etSearch.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN);
return true;
}
return false;
}
});