Java 如何将用户输入从文本视图中动态创建的编辑文本显示到另一个活动中?
在主活动中,我有一个按钮,每当用户单击此按钮时,Java 如何将用户输入从文本视图中动态创建的编辑文本显示到另一个活动中?,java,android,xml,android-intent,android-edittext,Java,Android,Xml,Android Intent,Android Edittext,在主活动中,我有一个按钮,每当用户单击此按钮时,onClick方法都会创建EditText。我想将用户输入从每个EditText传递到TextView到另一个活动中。但是TextView仅显示上一次EditText中的用户输入。我的代码可能看起来很奇怪,因为我试图自己解决这个问题。如何显示每个创建的EditText中的用户输入?我是编程新手。先谢谢你 Java代码 编辑文本代码 int i=1; int numberOfCreated = 2; public void buttonCreate(
onClick
方法都会创建EditText
。我想将用户输入从每个EditText
传递到TextView
到另一个活动中。但是TextView
仅显示上一次EditText
中的用户输入。我的代码可能看起来很奇怪,因为我试图自己解决这个问题。如何显示每个创建的EditText
中的用户输入?我是编程新手。先谢谢你
Java代码
编辑文本代码
int i=1;
int numberOfCreated = 2;
public void buttonCreate(View view){ // button onClick method
for(i=1;i<numberOfCreated;i++){
LinearLayout createdEditText1Layout=findViewById(R.id.createdEditText1Layout);
editText1 = new EditText(this);
LinearLayout.LayoutParams paramsForEditText1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
editText1.setLayoutParams(paramsForEditText1);
editText1.setInputType(InputType.TYPE_CLASS_TEXT);
editText1.setHint(R.string.editText1Hint);
editText1.setTextSize(16);
createdEditText1Layout.addView(editText1);
}
}
第二项活动
public void openResult() {
String productName = editText1.getText().toString();
Intent intent2 = new Intent(this, ResultActivity.class);
intent2.putExtra("product", productName);
startActivity(intent2);
}
public void buttonResultClick(View view){
openResult();
}
int i=1;
int numberOfButtons = 2;
for(i=1;i<numberOfButtons;i++) {
LinearLayout layoutForProductName = findViewById(R.id.layoutForProductName);
TextView productNameTextView = new TextView(this);
LinearLayout.LayoutParams layoutParamsForProductNameTextView = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
productNameTextView.setLayoutParams(layoutParamsForProductNameTextView);
productNameTextView.setTextSize(40);
String productName = getIntent().getStringExtra("product");
productNameTextView.setText(productName);
layoutForProductName.addView(productNameTextView);
}
inti=1;
int numberOfButtons=2;
对于(i=1;i,从我所能看出,这是因为您只添加了一个stringProductName
您可以通过传递字符串数组akaString[]
public void openResult() {
ArrayList<String> productNames = new ArrayList<String>();
for(int y=0; y < createdEditText1Layout.getChildCount(); y++)
{
if((View)layout.getChildAt(y) instanceof TextView){
String productName = editText1.getText().toString();
productNames.add(productName);
}
}
Intent intent2 = new Intent(this, ResultActivity.class);
intent2.putStringArrayListExtra("product", productNames);
startActivity(intent2);
}
public void openResult(){
ArrayList productNames=新的ArrayList();
对于(int y=0;y
然后在第二个活动中,你会想
int i=1;
int numberOfButtons = 2;
for(i=1;i<numberOfButtons;i++) {
LinearLayout layoutForProductName = findViewById(R.id.layoutForProductName);
TextView productNameTextView = new TextView(this);
LinearLayout.LayoutParams layoutParamsForProductNameTextView = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
productNameTextView.setLayoutParams(layoutParamsForProductNameTextView);
productNameTextView.setTextSize(40);
String productName = getIntent().getExtras().getStringArrayList("product").get(i);
productNameTextView.setText(productName);
layoutForProductName.addView(productNameTextView);
}
inti=1;
int numberOfButtons=2;
for(i=1;ifor(视图:createdEditText1Layout.getChildCount())显示错误foreach不适用于类型intI起初没有注意到,但在第二个活动中,它也是错误,位于String productName=getIntent().getStringArrayList(“产品”).get(i);
表示无法在中解析方法getStringArrayListIntent@Max修正了我错过了.getExtras()
道歉我不知道为什么,但它只显示了上一次编辑文本的输入。无论如何,谢谢你的帮助。