gpt4 book ai didi

Android Spinner - onItemSelected/setOnItemSelectedListener 未触发

转载 作者:IT王子 更新时间:2023-10-28 23:37:05 26 4
gpt4 key购买 nike

这让我发疯了,因为这是我以前做过的事情,但不知道为什么它现在不起作用......

我有一个菜单按钮,通过 menu.xml 文件和带有开关的 onOptionsItemSelected 方法以通常的方式实现,该方法创建并显示一个微调器。

我添加了 setOnItemSelectedListener,但它似乎永远不会触发。微调器出现,我选择一个选项或退出,既不调用 onItemSelected 也不调用 onNothingSelected

这里是菜单按钮处理开关语句的“case”和“return true”之间的所有代码。 (topThis 是一个引用 Activity 上下文的变量 - 适用于应用程序中的所有其他 toast)

String[] widgetModes = {"Mode 1", "Mode2"};
ArrayAdapter<String> widgetModeAdapter = new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item, widgetModes);
widgetModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Spinner widgetModeSpinner = new Spinner(this);
widgetModeSpinner.setAdapter(widgetModeAdapter);
widgetModeSpinner.setPrompt("Choose Widget Mode");

widgetModeSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id)
{
Toast.makeText(topThis, "derp", Toast.LENGTH_LONG).show();
}

@Override
public void onNothingSelected(AdapterView<?> parentView)
{
Toast.makeText(topThis, "herf", Toast.LENGTH_LONG).show();
}
});

widgetModeSpinner.performClick();

有什么想法吗?我隐约怀疑我以编程方式创建 Spinner 的事实是问题所在......

最佳答案

我在实现微调器时遇到了类似的问题,我通过获取父 View 并设置适配器解决了它-

spinner1 =(Spinner)findViewById(R.id.spinner1);
spinner1.setAdapter(BindSpinner("ProgramMaster",cols,null,true,""));
spinner1.setOnItemSelectedListener(new OnItemSelectedListener()
{
protected Adapter initializedAdapter=null;
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id)
{
if(initializedAdapter !=parentView.getAdapter() ) {
initializedAdapter = parentView.getAdapter();
return;
}

String selected = parentView.getItemAtPosition(position).toString();

if(abc.equals("Select") && !selected.equals("Select"))
{
do something
}

else
{
Do something
}
textQualification=selected;
SearchUpdated("Qualification");
}

@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});

关于Android Spinner - onItemSelected/setOnItemSelectedListener 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com