В моем приложении мне нужно захватить несколько данных от пользователя при регистрации. Чтобы не упаковывать несколько файлов EditText в один макет, я решил использовать несколько макетов из одного действия. Один макет будет захватывать электронные письма, другие номера телефонов и так далее. Когда я ввожу данные в EditText в один макет, кнопка возвращает меня к следующему. То, что я сделал (как тест) заключается в следующем:Захват данных из нескольких макетов в одном действии
SignupActivity
public class SignupActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
final List<String> myData = new ArrayList<>();
final EditText displayNameEditText = (EditText) findViewById(R.id.displayNameEditText);
Button mainNextButton = (Button) findViewById(R.id.nextButtonMain);
mainNextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myData.add(displayNameEditText.getText().toString());
setContentView(R.layout.phone_numbers_capture);
final EditText phone1EditText = (EditText) findViewById(R.id.phone1EditText);
Button phoneNextButton = (Button) findViewById(R.id.phoneNumbersUINextButton);
phoneNextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myData.add(phone1EditText.getText().toString());
Log.e("TAG IT", "Full name : " + myData.get(0));
Log.e("TAG IT", "Phone 1 : " + myData.get(1));
}
});
}
});
}
}
Выход я получаю это (LogCat)
Затем я могу передать эта информация от myData
нравится, когда я добираюсь до последнего макета:
MyObject myObject = new MyObject();
myObject.setFullName(myData.get(0)) //Method expects a String, no issues
myObject.setPhoneNumberOne(myData.get(1)) //Method expects a string, no issues
Теперь я чувствую, что это не лучший способ сделать это. Прежде всего, What If, я хочу захватить различные типы данных из каждого макета?
List<Object> myData
Приходит на ум, а затем что? Какой другой подход можно использовать для достижения этого? Если я оставлю это как есть, то какие проблемы я могу встретить в будущем, помимо очевидного типа данных, о котором я упомянул?
вы должны использовать базу данных для своих целей –