Android,LayoutInflater不工作
Android,LayoutInflater不工作
我需要你帮助我解决这个Inflater的问题。我需要从Activity3中获取Activity1中EditText中的内容。\n例如:在Activity1中我输入了我的名字、邮箱等信息。在Activity2中我选择了我的生日,然后在Activity3中我想要看到这两个信息。\n所以我在Activity3中使用了LayoutInflater,但是当我将EditText解析成字符串时,字符串是空的。\n以下是代码:\n
LayoutInflater inflater = getLayoutInflater(); View v1 = inflater.inflate(R.layout.activity_register1, null); etName = (EditText) v1.findViewById(R.id.etName); etLastName = (EditText) v1.findViewById(R.id.etLastName); etEmail = (EditText) v1.findViewById(R.id.etEmail); etPassword = (EditText) v1.findViewById(R.id.etPassword); actvCity = (AutoCompleteTextView) v1.findViewById(R.id.actvCity); etDescription = (EditText) v1.findViewById(R.id.etDescription); View v2 = inflater.inflate(R.layout.activity_register2, null); datePicker = (DatePicker) v2.findViewById(R.id.datePicker); birthday = new GregorianCalendar(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth()); btnRegister = (Button) findViewById(R.id.btnRegister); /** Register Button Click event */ btnRegister.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name = etName.getText().toString().trim(); String lastName = etLastName.getText().toString().trim(); String email = etEmail.getText().toString().trim(); String password = etPassword.getText().toString().trim(); String description = etDescription.getText().toString().trim(); String city = actvCity.getText().toString().trim(); String dateString = DateFormat.getDateInstance().format(birthday.getTime()); //if (!name.isEmpty() && !lastName.isEmpty() && !email.isEmpty() && !password.isEmpty() && !city.isEmpty()) Toast.makeText(getApplicationContext(), name, Toast.LENGTH_LONG).show(); //} } }); }
\ndateString能够正常工作,但是所有其他的字符串都是空的(\"\")。\n我该如何修复这个问题或者告诉我是否有其他解决方案。\n谢谢。
在Activity3
中使用inflater.inflate()
膨胀的布局与您在Activity1
或Activity2
中膨胀的布局不同。
您不能仅通过膨胀布局来使用在不同活动中输入的数据。
您需要在接收活动中使用getIntent()
,并在发送活动的一侧将所需数据设置在intent
(在startActivity(intent)
中使用)中。
因此,您需要先从Activity1
传递值到Activity2
,然后在Activity2
中获取数据,然后再将Activity1
和Activity2
的组合数据发送到Activity3
。
有关使用意图进行数据传输的更多详细信息,请查看这个。
好的,我会尝试这种方式。谢谢!