Отправить форму в ViewPager - PullRequest
0 голосов
/ 02 мая 2019

У меня есть From, разработанный в ViewPager с 5 фрагментами, который состоит из всех типов входов (радиогруппа, текст, дата, раскрывающийся список) в нем. Я должен сохранить и отправить данные формы после нажатия кнопки «Отправить» на последнем фрагменте. Теперь я хочу, чтобы сохранить данные, сохраненные при перемещении между страницами пейджер просмотра и отправить пост-запрос в конце пейджер просмотра? потому что в пейджере просмотра я могу хранить только 3 страницы, тогда как при переходе на 4-ю страницу я потеряю данные 1-й страницы. Пожалуйста, дайте мне знать, как решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Синглтон класс является ответом на ответ. Singleton - Только один экземпляр класса за раз.

Пример:

Ваш синглтон будет таким,

public class AddProductSingleton {

private static AddProductSingleton instance = null;
private String Category;
private String Title;
private String SubTitle;
private String Description;


private AddProductSingleton(){ }

public static AddProductSingleton getInstance(){
    if (instance == null)
        instance = new AddProductSingleton();

    return instance;
}


public String getCategory() {
    return Category;
}

public void setCategory(String category) {
    Category = category;
}

public String getTitle() {
    return Title;
}

public void setTitle(String title) {
    Title = title;
}

public String getSubTitle() {
    return SubTitle;
}

public void setSubTitle(String subTitle) {
    SubTitle = subTitle;
}

public String getDescription() {
    return Description;
}

public void setDescription(String description) {
    Description = description;
}

И ваши фрагменты будут такими, Первый фрагмент

public class Fragment1 extends Fragment {
    AddProductSingleton objAddProductDetails = AddProductSingleton.getInstance();
    objAddProductDetails.setCategory("Fragment1")
}

Второй фрагмент,

public class Fragment2 extends Fragment {
     ddProductSingleton objAddProductDetails = AddProductSingleton.getInstance();
     objAddProductDetails.setTitle("Fragment2")
}

Третий фрагмент,

public class Fragment3 extends Fragment {
     ddProductSingleton objAddProductDetails = AddProductSingleton.getInstance();
     objAddProductDetails.setSubTitle("Fragment3")
}

Четвертый фрагмент,

public class Fragment4 extends Fragment {
     ddProductSingleton objAddProductDetails = AddProductSingleton.getInstance();
     objAddProductDetails.setDescription("Fragment4")
}

После этого ваш одноэлементный объект обладает всеми наборами значений в разных фрагментах.

objAddProductDetails.getCategory() // Fragment1
objAddProductDetails.getTitle() // Fragment2
objAddProductDetails.getSubTitle() // Fragment3
objAddProductDetails.getDescription() // Fragment4

Надеюсь, это будет лучшим решением для вашего запроса, Happy coding.

0 голосов
/ 02 мая 2019

Я думаю, что для вашей проблемы лучшее решение - создать синглтон, содержащий ваш объект, и при каждом переходе от одного фрагмента к другому вы обновляете объект в синглтоне

...