Chcę umieścić przycisk "Go" w aplikacji Android softkeyboardjak dodać przycisk Go w Android SoftKeyBoard i jego funkcjonalność?
dla wyszukiwania i innych powiązanych scenariuszy, czy ktoś może mi pomóc? z przykładem.
każda pomoc byłaby przydatna.
Chcę umieścić przycisk "Go" w aplikacji Android softkeyboardjak dodać przycisk Go w Android SoftKeyBoard i jego funkcjonalność?
dla wyszukiwania i innych powiązanych scenariuszy, czy ktoś może mi pomóc? z przykładem.
każda pomoc byłaby przydatna.
ostatecznie użyłem ...
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;
}
});
Aby dodać punkt, jeśli klawiatura pokazuje przycisk DONE w prawym dolnym rogu, użyj zamiast tego EditorInfo.IME_ACTION_DONE. – Rorchackh
Łącze do dokumentacji: http://developer.android.com/training/keyboard-input/style.html#Action –
Jeśli pytanie jest to, że masz TextView EditText lub edycji, a chcesz działanie prawego przycisku na softkeyboard czytać „Idź”, a następnie dodać ten atrybut do EditText/TextView
android:imeActionLabel="actionGo"
zauważyć, że musi to być również pojedynczy wiersz TextView, ponieważ w przeciwnym razie przycisk akcji będzie selektorem powrotu karetki (strzałka).
android:singleLine="true"
robie to samo na "wyślij":
użyć tej klasy w układzie:
public class ActionEditText rozciąga EditText { public ActionEditText (Kontekstowy kontekst) { super (kontekst); }
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;
}
}
w 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" />
użyłem
android:imeOptions="actionGo"
i przejść do obsługi działań MA I używając
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;
}
});
Myślałem, że to coś automatycznie ... – confiq
Zobacz to pytanie od kilku dni: http://stackoverflow.com/questions/2568637/how-to-disable-next-button-on-a-edittext-software -keyboard-replace-with-done –