gpt4 book ai didi

Android EditText : Done instead of Enter or Word Wrap instead of Multi Line

转载 作者:IT老高 更新时间:2023-10-28 23:37:35 28 4
gpt4 key购买 nike

我有一个不允许换行的多行 EditText。现在,只要他们点击保存,我就会用一些空格替换返回。有什么办法可以用完成按钮替换屏幕上的输入按钮? (就像单行 EditText 一样)

我知道我仍然应该去掉返回 (\r\n|\r|\n),因为屏幕键盘不是添加它们的唯一方法。

这是我当前的 XML

<EditText android:layout_width="fill_parent" android:layout_height="wrap_content"
android:minLines="3" android:gravity="left|top"
android:inputType="textMultiLine|textAutoCorrect|textCapSentences"
android:imeOptions="actionDone" />

最佳答案

我建议阅读这篇文章

http://savagelook.com/blog/android/android-quick-tip-edittext-with-done-button-that-closes-the-keyboard

很好的例子

XML:

<EditText 
android:id="@+id/edittext_done"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Enter some text"
android:imeOptions="actionDone"
/>

Custom Action Class:

class DoneOnEditorActionListener implements OnEditorActionListener {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
return true;
}
return false;
}
}

Activity Class:

public class SampleActivity extends Activity {    
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sample_activity_layout); // sample_activity_layout contains our target EditText, target_edittext

EditText targetEditText = (EditText)findViewById(R.id.target_edittext);
targetEditText.setOnEditorActionListener(new DoneOnEditorActionListener());

// The rest of the onCreate() code
}
}

关于Android EditText : Done instead of Enter or Word Wrap instead of Multi Line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5174481/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com