我想在操作栏按钮上触发两个不同的功能:一个在“点击”上,另一个在“长按”上。举个例子,它应该像汽车收音机一样工作。您可以在长按时存储无线电频道的频率,并在短按时调用它。
问题是,您在操作按钮上没有真正的自定义侦听器。谷歌给出了:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_search:
openSearch();
return true;
case R.id.action_compose:
composeMessage();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
是否有可能长时间呼叫听众?
答案 0 :(得分:1)
您要找的是OnLongClickListener。要知道它必须返回一个布尔值,意味着它执行了LongClick或不执行。
您需要在同一个Button对象上添加两个Listener:
button.setOnClickListener(new OnClickListener() { ... });
button.setOnLongClickListener(new OnLongClickListener() { ... });
答案 1 :(得分:0)
您可以为操作栏创建自定义视图,并在自定义视图上实施onLongClick
。