Android Studio中如何将动态添加的EditText的数据传递到另一个Activity
具体实现步骤
步骤1:补充必要的布局配置
首先在你的activity_main.xml中添加Send Data按钮,示例配置:
<Button android:id="@+id/btnSendData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send Data" />
同时确认你的layout_to_copy.xml中的EditText已经设置了固定id,示例:
<EditText android:id="@+id/etDynamic" android:layout_width="match_parent" android:layout_height="wrap_content" />
步骤2:在MainActivity中添加Send Data点击逻辑
在MainActivity.java的onCreate方法中添加按钮绑定和点击事件,逻辑是遍历layoutToExpend下所有动态添加的子布局,取出每个EditText的输入内容,存储后通过Intent传给新Activity:
// 绑定Send Data按钮 Button btnSendData = findViewById(R.id.btnSendData); btnSendData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ArrayList<String> inputContents = new ArrayList<>(); // 遍历layoutToExpend下所有动态添加的子View for (int i = 0; i < layoutToExpend.getChildCount(); i++) { View childView = layoutToExpend.getChildAt(i); // 取出每个动态布局里的EditText EditText etDynamic = childView.findViewById(R.id.etDynamic); String content = etDynamic.getText().toString().trim(); inputContents.add(content); } // 跳转到新Activity并传递数据 Intent intent = new Intent(MainActivity.this, ShowDataActivity.class); intent.putStringArrayListExtra("INPUT_DATA", inputContents); startActivity(intent); } });
注意:你之前的代码里添加按钮的id写的是
butttonToAdd(多了一个t),如果运行报错先检查拼写是否和xml里的id一致。
步骤3:创建展示数据的新Activity
新建名为ShowDataActivity的Activity,在它的布局activity_show_data.xml中添加用于展示内容的TextView:
<TextView android:id="@+id/tvShowContent" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" android:textSize="16sp" />
步骤4:在新Activity中接收并展示数据
在ShowDataActivity.java的onCreate方法中添加如下逻辑:
TextView tvShowContent = findViewById(R.id.tvShowContent); // 接收MainActivity传递的数据 ArrayList<String> inputData = getIntent().getStringArrayListExtra("INPUT_DATA"); if (inputData != null) { // 把所有输入内容拼接成字符串,用换行分隔 StringBuilder sb = new StringBuilder(); for (String content : inputData) { sb.append(content).append("\n"); } tvShowContent.setText(sb.toString()); }
额外提示:如果是通过Android Studio的新建Activity向导创建的
ShowDataActivity,系统会自动在AndroidManifest.xml中完成注册,不需要手动操作。
内容的提问来源于stack exchange,提问作者acpSiam
相关产品推荐
相关产品推荐

