簡體   English   中英

如何使用一個活動中的按鈕添加到另一個活動中的列表視圖?

[英]How could I use the button from in one activity to add to list view in another activity?

我有點困惑。 想知道你是否可以幫忙。 如果您需要任何其他詳細信息,請告訴我。 感謝:D

圖片

在顯示項目列表的活動中 - 您需要添加一個按鈕(允許用戶添加新項目) - 單擊此按鈕后,您將啟動“添加項目活動”(使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM