Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将用户输入从文本视图中动态创建的编辑文本显示到另一个活动中?_Java_Android_Xml_Android Intent_Android Edittext - Fatal编程技术网

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

您可以通过传递字符串数组aka
String[]

    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()
道歉我不知道为什么,但它只显示了上一次编辑文本的输入。无论如何,谢谢你的帮助。