[英]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.