我正在创建具有以下功能的应用程序。 Main Activity 是一个包含三个 fragments
的选项卡式 Activity 。中间的 fragment
由一个 ListView
组成。当您选择 listView 项目时,它将允许您执行以下两项操作之一:
- 编辑布局,可以添加按钮、开关、文本框等。
- 如果创建了布局,您可以滑动到第一个选项卡,布局将加载用户添加的所有自定义 View 。
我想知道如何保存每个 ViewGroup
以便用户可以访问它们并根据需要进行编辑。我不认为这可以用 SavedStated 来完成,因为它将跨越不同的 Activity ,这就是为什么我需要一种方法来保存/加载它们。
我有一个允许您自定义布局的 fragment 。我只想保存所有子项的 ViewGroup
。因此,您不会拥有 10 个不同的 XML 布局,而是拥有 1 个具有 10 个不同 ViewGroup 的 XML
布局,可以在选择不同的 ListView
项时动态插入这些 View 组。
它不能是布局的图像,当我切换到 View 时,我需要具有所有按钮和开关的功能,并且用户需要能够在他们喜欢的时候编辑他们的布局。
最佳答案
我认为您需要为所有 View 创建模型。例如 ModelButton - 是你按钮的模型可能有下一个代码:
public class ModelButton implements Serializable{
private String text;
private Bitmap bgResource;
private int width;
private int height
public ModelButton(final String text, final Bitmap bgResource, final int width, final int height) {
this.text = text;
this.bgResource = bgResource;
this.width = width;
this.height = height;
}
}
您的所有模型都必须实现 Serializable 接口(interface)才能将其传递给 Intent。 您还需要想出存储 View 宽度和高度的方法。
这不是简单的方法,但据我所知,无法在 Activity 之间传递 ViewGroup 或 View
关于android - 跨不同 Activity 保存和加载布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337339/