说我正在为对象开发应用程序。该应用程序允许用户添加对象,打开其详细信息并编辑对象-这是一种非常常见的设置。 我将创建一个AddObjectActivity,其中将包含创建Object所需的所有输入字段。创建对象后-可以对其进行编辑,并且编辑活动应包含创建的所有字段。这意味着绑定创建活动的所有字段并进行任何布局设置-与创建活动相同。
在我看来,这里有两个选择:完全复制代码-为添加和编辑操作创建单独的活动,或尽可能重用,并扩展/引入某种指示符,指示哪些操作(添加或编辑) )正在执行。
复制那么多代码感到不对,第二种选择带来了很多不必要的复杂性。
这是应用程序中非常常见的模式,所以我想知道在Android中最好的方法是什么?
答案 0 :(得分:1)
使用相同的活动,当您需要更新对象时,必须像这样通过Intent Extra将其传递
intent.putExtra("object", myObject);
开始第二项活动时,您将获得类似这样的额外功能
Object myObject = (Object) getIntent().getSerializableExtra("object");
诀窍是当(myObject!= null)时我处于更新模式,否则我处于添加模式,如果处于更新模式,则添加与活动字段相匹配的对象值(如EditText,TextView等)。
如果您需要了解活动是否以更新模式完成,则应使用startActivityForResult()启动它,并在onActivityResult()的实现中获取数据
我希望这会对您有所帮助