gpt4 book ai didi

android - 如何使用 For 循环在 android 中获取多个 EditText 值

转载 作者:行者123 更新时间:2023-11-29 14:20:41 25 4
gpt4 key购买 nike

在我的应用程序中,我有 10 个 Edittext 和 10 个 TextView

我已经为 EditText 和 TextView 创建了实例,例如

String[] messageText=new String[10];
String[] messageEdit=new String[10];
TextView oTextView1 = (TextView) findViewById(R.id.Tab_common1_EditText);
TextView oTextView2 = (TextView) findViewById(R.id.Tab_common2_EditText);
TextView oTextView3 = (TextView) findViewById(R.id.Tab_common3_EditText);
TextView oTextView4 = (TextView) findViewById(R.id.Tab_common4_EditText);
TextView oTextView5 = (TextView) findViewById(R.id.Tab_common5_EditText);
TextView oTextView6 = (TextView) findViewById(R.id.Tab_common6_EditText);
TextView oTextView7 = (TextView) findViewById(R.id.Tab_common7_EditText);
TextView oTextView8 = (TextView) findViewById(R.id.Tab_common8_EditText);
TextView oTextView9 = (TextView) findViewById(R.id.Tab_common9_EditText);
TextView oTextView10 = (TextView) findViewById(R.id.Tab_common10_EditText);

EditText oEditTextHiden1 = (EditText) findViewById(R.id.Tab_Hidencommon1_EditText);
EditText oEditTextHiden2 = (EditText) findViewById(R.id.Tab_Hidencommon2_EditText);
EditText oEditTextHiden3 = (EditText) findViewById(R.id.Tab_Hidencommon3_EditText);
EditText oEditTextHiden4 = (EditText) findViewById(R.id.Tab_Hidencommon4_EditText);
EditText oEditTextHiden5 = (EditText) findViewById(R.id.Tab_Hidencommon5_EditText);
EditText oEditTextHiden6 = (EditText) findViewById(R.id.Tab_Hidencommon6_EditText);
EditText oEditTextHiden7 = (EditText) findViewById(R.id.Tab_Hidencommon7_EditText);
EditText oEditTextHiden8 = (EditText) findViewById(R.id.Tab_Hidencommon8_EditText);
EditText oEditTextHiden9 = (EditText) findViewById(R.id.Tab_Hidencommon9_EditText);
EditText oEditTextHiden10 = (EditText) findViewById(R.id.Tab_Hidencommon10_EditText);

现在我需要获取所有 TextView getText() 和 EditText getText()

我尝试了一些方法,但没有用

 for (int i = 0; i < 10; i++) {

messageText[i] = (oTextView+i).getText().toString();//it says oTextView cannot be resolved to a variable
messageEdit[i] = (oEditTextHiden+i).getText().toString();
}
Log.i("message", "message :"+Arrays.deepToString(messageText)+" "+Arrays.deepToString(messageEdit));

最佳答案

存储 EditText 的 ID 并循环遍历它们,因为 View ​​ID 是整数,您可以像这样轻松地做到这一点:

ArrayList<String> values = new ArrayList<String>();
int[] ids = new int[]{R.id.editText1,R.id.editText2,R.id.editText3};//and so on

for(int id : ids){
EditText t = (EditText) findViewById(id);
values.add(t.getText().toString());
}

或者,如果您只想要文本而不想对 EditText View 本身做任何其他事情,您可以将它放在一行中:

for(int id : ids) values.add(((EditText)findViewById(id)).getText().toString());

关于android - 如何使用 For 循环在 android 中获取多个 EditText 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22014580/

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