我如何使用一个活动中的按钮添加到另一个活动的列表视图?

时间:2016-04-20 21:28:10

标签: java android listview button android-activity

我有点困惑。想知道你是否可以提供帮助。如果您需要任何其他详细信息,请告诉我们。谢谢:D

Picture

3 个答案:

答案 0 :(得分:0)

在显示项目列表的活动中 - 您需要添加一个按钮(允许用户添加新项目) - 单击此按钮后,您可以启动"添加项目活动&#34 ; (使用startActivityForResult())正如马克斯建议的那样。当用户点击"添加项目活动时的提交按钮" - 然后设置结果setResult(Activity.RESULT_OK, resultIntentObject)(将显示方法onActivityResult(int requestCode, int resultCode, Intent data))中显示项目列表的活动收到的结果。现在,如果用户确实插入了数据,则表示"刷新& #34;项目列表 - 您可以在插入新数据后通过调用adapter.notifyDataSetChanged()来执行此操作。

让我进一步建议您查看描述如何Add Items to ListView的已接受答案,您还可以浏览此处提供的有关如何Dynamically add elements to a listView Android

的选项

答案 1 :(得分:0)

如果您使用其他XML以外的其他onClick按钮,而MainActivity方法位于onClick以外的其他活动中,那么您需要制作MainActivity } MainActivity中的方法,并从RecyclerView中的其他活动调用该方法。

另外,值得指出的是,您应该使用ListView而不是<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"/> 。 我希望这有任何帮助。我无法弄清楚你想要做什么,这就是我理解它的方式。

假设这是按钮的XML代码:

onClick

在此,您显然已为方法clearCanvas设置了mainActivity。 现在,将在onClick中查找此方法。

如果您有另一个活动,其中存在所述Button的//... public void clearCanvas(View v) { *do this whatever is here* } //... 方法,请删除该方法的大括号内的参数。

示例: ActiviyNotMain.java:

View v
  

从此处删除//... private ActivityNotMain activity; //... public void clearCanvas(View v) { activity.clearCanvas(); } //...

MainActivity.java:

MainActivity
  

注意:在View v中,请勿删除{{1}}

我希望这会有所帮助。

答案 2 :(得分:0)

您可以使用片段,因为它们可以提供更多的灵活性。然后,活动控制了两个&#34;活动&#34; (片段)你可以在FragmentManager上使用.replace在它们之间进行toogle。 您可以做的另一件事是使用parcelable传递数据,但您必须保留在数据库或之前的项目中。有碎片你不需要它。如果您可以提供有关您想要做什么的更多信息,那将非常有用。 谢谢!