![](/img/trans.png)
[英]How to add an element to an array list from one activity and from another activity
[英]How could I use the button from in one activity to add to list view in another activity?
在显示项目列表的活动中 - 您需要添加一个按钮(允许用户添加新项目) - 单击此按钮后,您将启动“添加项目活动”(使用startActivityForResult()
)作为麦克斯建议。 当用户单击“添加项目活动”上的提交按钮时 - 然后设置结果setResult(Activity.RESULT_OK, resultIntentObject)
(它将由显示方法onActivityResult(int requestCode, int resultCode, Intent data))
中的项目列表的活动接收onActivityResult(int requestCode, int resultCode, Intent data))
。 现在,如果用户确实插入了数据,则“刷新”项目列表 - 在插入新数据后通过调用adapter.notifyDataSetChanged()
来完成此操作。
让我进一步建议您查看描述如何将项目添加到 ListView的已接受答案,您还可以探索此处提供的有关如何将元素动态添加到 listView Android 的选项
如果你已经在其他一些制造按钮XML
比主要和onClick
方法位于比其他一些活动MainActivity
那么你需要做的onClick
的方法MainActivity
并调用来自其他活动的方法在MainActivity
。
另外,值得指出的是,您应该使用RecyclerView
而不是ListView
。 我希望这有任何帮助。 我无法完全弄清楚您要做什么,这就是我的理解。
假设这是按钮的 XML 代码:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/clearCanvas"
android:onClick="clearCanvas"
android:layout_gravity="bottom|center"
android:text="CLEAR"/>
对此,您显然已经为clearCanvas
方法设置了onClick
。 现在,将在您的mainActivity
查找此方法。
如果您有另一个活动,其中存在所述 Button 的onClick
方法,请删除该方法大括号内的参数。
示例:ActiviyNotMain.java:
//...
public void clearCanvas(View v) {
*do this whatever is here*
}
//...
从这里删除
View v
。
主活动.java :
//...
private ActivityNotMain activity;
//...
public void clearCanvas(View v) {
activity.clearCanvas();
}
//...
注意:在
MainActivity
不要移除View v
我希望这有帮助。
您可以改用片段,因为它们提供了更大的灵活性。 然后活动可以控制两个“活动”(片段),您可以使用 FragmentManager 上的 .replace 在它们之间切换。 您可以做的另一件事是使用parcelable 传递数据,但您必须将数据保存在数据库或以前的项目中。 有了片段,你就不需要那个了。 如果你能提供更多关于你想要做什么的信息,那将非常有帮助。 谢谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.