JPM*_*JPM 44 android button clear android-edittext
如何EditText
使用a 清除布局中的所有字段Clear Button
.我有一个注册活动,有大约10个不同EditTexts
.我知道我可以去拿一个具体的参考然后set.Text("")
; 但我正在寻找一种更有活力的优雅方式.可能抓住Layout
并遍历那里寻找EditText
类型的所有项目,然后将其设置为""
.不知道如何做到这一点,并尝试在网上搜索它,但没有运气.任何示例代码?
nec*_*ixy 63
@Pixie的答案很棒,但我想让它变得更好.
只有当所有EditText都在单个(一个)布局中时,此方法才能正常工作,但是当存在大量嵌套布局时,此代码不会处理它们.
抓了一会儿后,我做了以下解决方案:
private void clearForm(ViewGroup group) {
for (int i = 0, count = group.getChildCount(); i < count; ++i) {
View view = group.getChildAt(i);
if (view instanceof EditText) {
((EditText)view).setText("");
}
if(view instanceof ViewGroup && (((ViewGroup)view).getChildCount() > 0))
clearForm((ViewGroup)view);
}
}
Run Code Online (Sandbox Code Playgroud)
要使用此方法,只需按以下方式调用:
clearForm((ViewGroup) findViewById(R.id.sign_up));
Run Code Online (Sandbox Code Playgroud)
您可以将R.id.sign_up替换为XML文件的根布局ID.
我希望这会像我一样帮助很多人.
:)
Mic*_*ael 29
您可以遍历视图组中的所有子项并清除所有EditText
字段:
ViewGroup group = (ViewGroup)findViewById(R.id.your_group);
for (int i = 0, count = group.getChildCount(); i < count; ++i) {
View view = group.getChildAt(i);
if (view instanceof EditText) {
((EditText)view).setText("");
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
74329 次 |
最近记录: |