【发布时间】:2016-10-15 16:17:14
【问题描述】:
我希望字符串显示在我的 EditText 中,如下所示:
"AA-BB-11",但是我只需要放在AABB11里面,可以吗?
【问题讨论】:
-
您拥有
"AA-BB-11"并且想要AABB11?还是反过来?
标签: android string android-edittext
我希望字符串显示在我的 EditText 中,如下所示:
"AA-BB-11",但是我只需要放在AABB11里面,可以吗?
【问题讨论】:
"AA-BB-11" 并且想要AABB11?还是反过来?
标签: android string android-edittext
我认为你必须实现 TextWatcher。尝试类似的方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText test = (EditText) findViewById(R.id.editText)
test.addTextChangedListener(this);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable text) {
if (text.length() == 2 || text.length() == 5) {
text.append('-');
}
}
见:https://developer.android.com/reference/android/text/TextWatcher.html
编辑:
您可以在此处查看完整代码:https://stackoverflow.com/a/28043245/6450234。
您只需将text.length() == 3 || text.length() == 7 更改为text.length() == 2 || text.length() == 5
【讨论】: