繁体   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