Java 从Spinner'执行代码;s选择了';自定义列表视图中的

Java 从Spinner'执行代码;s选择了';自定义列表视图中的,java,android,listview,spinner,Java,Android,Listview,Spinner,我有一个带有3个微调器的自定义listView。我想在OnItemSlcted中执行代码,但无法在adapter中执行,因为我需要执行的代码的某些部分在适配器中无法工作 我以前将此代码固定在按钮上,但有时列表中有20-30个元素,我需要在用户从微调器中选择值后立即“自动”执行此操作,以节省一些时间 对于一个按钮,我有以下代码: ((ListView)父项)。执行单击(v,位置,0) 在我在适配器内部创建的setOnClickListener中。在适配器中使用此代码后,我可以通过编写以下内容来执行

我有一个带有3个微调器的自定义listView。我想在OnItemSlcted中执行代码,但无法在adapter中执行,因为我需要执行的代码的某些部分在适配器中无法工作

我以前将此代码固定在按钮上,但有时列表中有20-30个元素,我需要在用户从微调器中选择值后立即“自动”执行此操作,以节省一些时间

对于一个按钮,我有以下代码:

((ListView)父项)。执行单击(v,位置,0)

在我在适配器内部创建的setOnClickListener中。在适配器中使用此代码后,我可以通过编写以下内容来执行适配器外部的任何代码:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                long viewId = view.getId();

                if(viewId == R.id.button){
                    myCode(); } 
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
long viewId=view.getId();
if(viewId==R.id.button){
myCode();}
我找不到类似的方法,因为内部适配器OnItemSlced和外部适配器OnItemSlced之间没有“链接”。当然,在适配器的OnItemSlced中编写同一行代码是行不通的,因为微调器“不会单击”

你知道怎么解决这个问题吗


简而言之:我需要在自定义listView元素内部为微调器执行onItemSelected,但需要在onCreate方法中的适配器外部执行此操作。

您可以创建回调接口,并在“外部”创建其实例,然后将其传递到“内部”,在那里使用所需参数调用回调函数

public interface Callback {

void onAction (int a, int b, String c);

}