Spinner.setOnItemClickListener 不工作
Spinner.setOnItemClickListener not working
这是我的代码:
transactionTypeSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "Something changed", LENGTH_SHORT).show();
}
});
但不幸的是 OnItemClickListener
方法不起作用并显示此消息:setOnItemClickListener cannot be used with a spinner.
我该如何解决这个问题?
谢谢!
您需要使用setOnItemSelectedListener()
Register a callback to be invoked when an item in this AdapterView has been selected.
使用
transactionTypeSpinner.setOnItemSelectedListener()
而不是
transactionTypeSpinner.setOnItemClickListener()
示例代码
transactionTypeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "Something changed", LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
您不应该为微调器调用 OnItemClickListener
。 Spinner 不支持项目点击事件。
transactionTypeSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
Toast.makeText(MainActivity.this, "Something changed", LENGTH_SHORT).show();
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});
请尝试使用以下代码希望对您有所帮助
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String selectedItem = parent.getItemAtPosition(position).toString();
if(selectedItem.equals("Add new category"))
{
// do your stuff
}
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});
这是我的代码:
transactionTypeSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "Something changed", LENGTH_SHORT).show();
}
});
但不幸的是 OnItemClickListener
方法不起作用并显示此消息:setOnItemClickListener cannot be used with a spinner.
我该如何解决这个问题?
谢谢!
您需要使用setOnItemSelectedListener()
Register a callback to be invoked when an item in this AdapterView has been selected.
使用
transactionTypeSpinner.setOnItemSelectedListener()
而不是
transactionTypeSpinner.setOnItemClickListener()
示例代码
transactionTypeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "Something changed", LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
您不应该为微调器调用 OnItemClickListener
。 Spinner 不支持项目点击事件。
transactionTypeSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
Toast.makeText(MainActivity.this, "Something changed", LENGTH_SHORT).show();
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});
请尝试使用以下代码希望对您有所帮助
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String selectedItem = parent.getItemAtPosition(position).toString();
if(selectedItem.equals("Add new category"))
{
// do your stuff
}
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});