2013-04-08 109 views
-1

这段代码是否为完全是是否正确?获取所有子编辑框的值

myRLayout = (RelativeLayout) findViewById(R.id.rel_layout); 

for(int i = 0; i < myRLayout.getChildCount(); i++) { 
View v = myRLayout.getChildAt(i); 
if(v instanceof EditText) { 
     TextView res = (TextView) findViewById(R.id.result_text); 
     String str1 = ((EditText) findViewById(R.id.edittext_1)).getText().toString(); 
     String str2 = ((EditText) findViewById(R.id.edittext_2)).getText().toString(); 
     res.setText(str1+str2); 
    } 
} 

为什么我问?对于每次迭代,只有一个EditText可以一次或全部一起使用?

回答

1

使用v子实例从所有EditText中获取值,并使用TextView.append显示TextView中的值。试试它:

TextView res = (TextView) findViewById(R.id.result_text); 
res.setText(""); //<< clear textview here 
for(int i = 0; i < myRLayout.getChildCount(); i++) { 
View v = myRLayout.getChildAt(i); 
if(v instanceof EditText) { 
     String str1 = v.getText().toString(); //<< get text from ith EditText 
     res.append(str1); // append value to result_text TextView 
    } 
} 
+0

好的。但我需要这些字符串转换为浮点数,并与他们做一些计算... – user2230842 2013-04-08 17:30:00

+0

@ user2230842:如果你想对EditText值进行计算,然后首先在ArrayList中的所有值,然后使用ArrayList将字符串转换为浮点数并在显示之前执行计算它的TextView – 2013-04-08 17:43:41