当用户长时间点击某个项目时,我试图使Spinner的行为方式不同.我有一些项目的旋转器,我想要两件事.
第一步效果很好(当然),但是当我尝试执行第二个任务时,我无法使微调器生成longClicked事件.
这是我的代码:
this.projectSpinner = (Spinner) this.findViewById(R.id.SpinnerProjects);
this.projectSpinner.setLongClickable(true);
this.projectSpinner.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){
public boolean onItemLongClick(AdapterView<?> arg0,
View arg1,
int arg2,
long arg3) {
Toast.makeText(
AndroidTimeTrackerMainActivity.this,
"Long click",
Toast.LENGTH_SHORT).show(); // This toast doesn't show up.
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以将OnLongClickListener添加到Spinner中.当菜单上的项目被长时间点击时,它不会被触发,但是当用户长时间点击微调器本身时它将被触发.
this.projectSpinner.setOnLongClickListener(new OnLongClickListener()
{
@Override
public boolean onLongClick(View v)
{
System.out.println(chuteSpinner.getSelectedItem().toString() + " is long clicked");
return true;
}
});
Run Code Online (Sandbox Code Playgroud)