EditTextビューを作成しました動的に、テキストを1つのリストまたは配列に入れたいのですが、どうすればいいですか?EditTextを動的に作成し、それぞれのテキストをEditTextから取得する
1
A
答えて
3
あなたはdynalicallyこのようにそれらを作成している間、あなたはあなたのedittextsのための参照を取得する必要があります。..
EditText ed;
List<EditText> allEds = new ArrayList<EditText>();
for (int i = 0; i < count; i++) {
//count is number of edittext fields
ed = new EditText(MyActivity.this);
allEds.add(ed);
linear.addView(ed);
}
今allEdsはあなたのedittextsへの参照を持っています...あなたは、このようなテキストを取得することができます。 。
String [] items=new String[allEds.size()]
for(int i=0; i < allEds.size(); i++){
items[i]=allEds.get(i).getText().toString();
}
2
あなたはそれらのテキストのを格納するための一つ「動的に作成EditText
格納するための1」は2 List
を作成することができます。
for-each
ループを使用してEditText
リストを繰り返して、それぞれEditText
のテキストを取得し、テキストのリストに追加します。
List<EditText> myList = new ArrayList<EditText>();
List<String> etText = new ArrayList<String>();
EditText myEt1 = new EditText(this);
EditText myEt2 = new EditText(this);
EditText myEt3 = new EditText(this);
//so on...
myList.add(myEt1);
myList.add(myEt2);
myList.add(myEt3);
for(EditText et : myList){
String settext = et.getText().toString();
etText.add(settext);
}
+0
これはまさに私が必要としていることですthanx .. – ashokk
1
あなたの問題は、これらのビューへのアクセスの場合:
// assume ll is your container LinearLayout and your EditTexts inserted in it
LinearLayout ll;
int nViews = ll.getChildCount();
for (int i = 0; i < nViews; i++) {
View child = ll.getChildAt(i);
if (child instanceof EditText) {
EditText edt= (EditText) child;
//...
}
}
+0
それは私を助けました – ashokk
チェックこのアウト:http://stackoverflow.com/questions/7200108/android-gettext-from-edittext-fieldそれとも缶EditTextの[documentation](http://developer.android.com/reference/android/widget/EditText.html)を読んでください。 – Rainulf