Android 如何向listviewadapter添加项目以响应单击的按钮?

Android 如何向listviewadapter添加项目以响应单击的按钮?,android,Android,我有一个活动,它显示一个微调器(项目类别的选择),一个显示订单的listview和另一个listview-articles-根据所选类别(微调器)动态填充按钮。 单击文章按钮时,我想将文章添加到OrderAdapter 当我在View.OnClickListener中时,如何获取对列表适配器的引用?您可以将其传递给OnClickListener的构造函数,并将其保存在侦听器上的成员变量中,或者您可以在视图上使用setTag将适配器的引用隐藏在按钮中,然后使用getTag在onClick侦听器中检

我有一个活动,它显示一个微调器(项目类别的选择),一个显示订单的listview和另一个listview-articles-根据所选类别(微调器)动态填充按钮。 单击文章按钮时,我想将文章添加到OrderAdapter


当我在View.OnClickListener中时,如何获取对列表适配器的引用?

您可以将其传递给OnClickListener的构造函数,并将其保存在侦听器上的成员变量中,或者您可以在视图上使用
setTag
将适配器的引用隐藏在按钮中,然后使用
getTag
在onClick侦听器中检索它。或者,您可以将视图侦听器设置为活动中的一个非静态内部类,并以与活动中其他所有内容相同的方式访问适配器(尽管我通常更喜欢显式地将侦听器保持为静态/在另一个类中)。

您需要发布代码以获得适当的帮助,但听起来好像您正在将View.OnClickListener实现为活动内部的匿名内部类

您通常可以通过完全限定引用来访问适配器:

MyActivity.this.mListView.getAdapter();

其中MyActivity是一个假定的类名,它扩展了Activity并保存了名为mListView的成员ListView。

它实际上不是一个匿名内部类,而是一个单独的类。根据您的评论,我只是向onclickhandler类添加了一个构造函数,传递父活动。然后我可以使用你的解决方案,这就成功了。