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

Java 如何使用一个活动中的按钮添加到另一个活动中的列表视图?,java,android,listview,button,android-activity,Java,Android,Listview,Button,Android Activity,我有点困惑。我想知道你是否能帮忙。如果你需要任何额外的细节,请让我知道。谢谢:D 在显示项目列表的活动中-您需要添加一个按钮(允许用户添加新项目)-单击此按钮后,您可以按照Max的建议启动“添加项目活动”(使用startActivityForResult())。当用户单击“添加项活动”上的“提交”按钮时,您可以设置结果setResult(activity.RESULT\u OK,resultIntentObject)(该结果将由显示activityresult(int-requestCode,i

我有点困惑。我想知道你是否能帮忙。如果你需要任何额外的细节,请让我知道。谢谢:D


在显示项目列表的活动中-您需要添加一个按钮(允许用户添加新项目)-单击此按钮后,您可以按照Max的建议启动“添加项目活动”(使用
startActivityForResult()
)。当用户单击“添加项活动”上的“提交”按钮时,您可以设置结果
setResult(activity.RESULT\u OK,resultIntentObject)
(该结果将由显示activityresult(int-requestCode,int-resultCode,Intent-data)方法中的项列表的活动返回)。现在,如果用户确实插入了数据,您可以“刷新”项目列表-在插入新数据后调用
adapter.notifyDataSetChanged()


让我进一步建议你看看公认的答案,描述如何,您还可以探索此处提供的有关如何

的选项。如果您在除main之外的其他
XML
中创建了按钮,并且
onClick
方法位于
MainActivity
之外的其他活动中,那么您需要在
MainActivity
中创建一个
onClick
方法,并从
main活动中的其他活动

另外,值得指出的是,您应该使用
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"/>
从此处删除视图v

MainActivity.java:

//...
  private ActivityNotMain activity;
  //... 
  public void clearCanvas(View v) { 
   activity.clearCanvas();
}
//...
注意:在
main活动中
不要删除
View v


我希望这有帮助

您可以改为使用片段,因为它们提供了更大的灵活性。然后该活动控制两个“活动”(片段),您可以在FragmentManager上使用.replace在它们之间切换。 你可以做的另一件事是使用parcelable传递数据,但你必须将以前的项目保存在数据库或其他地方。有了碎片你就不需要了。如果你能提供更多关于你到底想做什么的信息,那将非常有帮助。
谢谢

你是否正在尝试将项目动态添加到列表视图?也就是说,你的应用程序是否首先显示一个列表,然后允许用户“添加新项目”?这对于理解应用程序的流程很重要,因为实现这一点的方法可能不同。是的。这正是我想要做的。这幅画应该有帮助。它包含了所有的详细信息。按钮也必须位于列表的同一活动上。我在想也许是在描述活动上。我是否必须将按钮添加到listview的同一活动中?但是,如果您在第一个活动/屏幕上以空列表开始,您将如何添加新项目?你需要一个添加按钮,最好是在你的操作栏上-太好了。那么我如何调用一个方法呢?
//...
  private ActivityNotMain activity;
  //... 
  public void clearCanvas(View v) { 
   activity.clearCanvas();
}
//...