android - 动态获取编辑文本中的输入并将其传递到下一个屏幕

标签 android arraylist dynamic-values

这是我的代码..我创建了一个动态屏幕,在其中我在 for 循环下生成一个 textview 和 edittext。但是在单击按钮后它只获得最后一个输入。我需要获得 editText 和必须将它们传递到新屏幕..guyss..plzz 帮助我。这是我的代码..

            runOnUiThread(new Runnable() {
            public void run() {
                final LinearLayout findViewById = (LinearLayout) findViewById(R.id.dynamicInputs);
                // TextView textView = (TextView) findViewById(R.id.name);
                TextView textView = new TextView(Activity_UserInput.this);
                textView.setText(map.get(KEY_NAME) + " :");
                textView.setTextColor(Color.BLACK);
                textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 17);

                findViewById.addView(textView);

                final EditText editText = new EditText(
                        Activity_UserInput.this);

                editText.setText("");

                editText.setFocusableInTouchMode(true);
                editText.requestFocus();

                findViewById.addView(editText);
                final ArrayList<EditText> allEds = new ArrayList<EditText>();
                allEds.add(editText);


                btn.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {

                        // it = new Intent(Activity_UserInput.this,
                        // Submition_Activity.class);
                        // it.putExtra("input", arryList);
                        // System.out.println("get the input"
                        // + arryList);

                        String[] string = new String[allEds.size()];

                        for (int i = 0; i < string.length; i++) {
                            string[i] = allEds.get(i).getText().toString();

                        }

                    }
                });

            }
        });

最佳答案

在这里,在你的代码中每次创建的EditText数组列表。所以在启动时初始化allEds

final ArrayList<EditText> allEds = new ArrayList<EditText>();

然后将EditText添加到arraylist

 final EditText editText = new EditText( Activity_UserInput.this);
             editText.setText("");
     editText.setFocusableInTouchMode(true);
      editText.requestFocus();
    findViewById.addView(editText);
   allEds.add(editText);

关于android - 动态获取编辑文本中的输入并将其传递到下一个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123967/

相关文章:

android - 如何在android中调用activity onDestroy() onBackPressed?

android - io.realm.exceptions.RealmMigrationNeededException : Migration is required due to the following errors: - Class 'SaveMessage' has been added

android - 打开存储在 Firebase 存储中的 pdf 文件 url

JAVA:如何使用对象包装实例将 ArrayList 初始化为特定类类型?

java - 从数组列表访问数组

java - 如何打印 ArrayList<Point>

javascript - 在javascript中的if条件中使用变量的值

java - JSON 解析器错误(NullPointerException)

java - android 滚动时添加 View