在ViewPager中提交表单

时间:2019-05-02 08:38:45

标签: android json forms android-viewpager

我在 ViewPager 中设计了一个From,其中包含5个片段,其中包含所有类型的输入(无线电组,文本,日期,下拉列表)。我必须保存并提交表单数据,然后单击最后一个片段上的“提交”按钮。 现在,我想如何在视图分页器的页面之间遍历时保存数据并在视图分页器的末尾发送发布请求?因为在视图寻呼机中,我只能存储3页的状态,而当我遍历到第四页时,我将丢失第一页的数据。请让我知道如何解决此问题。

2 个答案:

答案 0 :(得分:0)

我认为,针对您的问题,最好的解决方案是创建一个包含您的对象的单例 在从一个片段到另一个片段的每次转换中,您都以单例形式更新对象

答案 1 :(得分:0)

单班是答案。 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

我希望这将是对您的查询的最合适的解决方案,快乐编码。