Android 微调器 OnLongClickListener 或 OnItemLongClickListener
Android Spinner OnLongClickListener or OnItemLongClickListener
有人可以解决这个问题吗?我的操作栏中有一个微调器,我想在其中捕获长按事件,OnLongClickListener 或单个项目的 OnItemLongClickListener - 以便用户可以编辑值。
我了解到微调器不支持长按,但我希望某些东西 changed/someone 可能有解决方法。
这是编辑字符串的理想解决方案 - 操作栏中没有足够的 space 来放置用于编辑的专用按钮,我的用户直觉地尝试长按以进行编辑。
这里有一些相关的问题(虽然现在已经很老了):
Android spinner item long click/touch,
How can I use spinner setOnItemLongClickListener
您应该可以 "simulate" 使用以下代码长按:
final Handler actionHandler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
Toast.makeText(Activity.this, "Long click performed", Toast.LENGTH_SHORT).show();
}
};
spinner.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
actionHandler.postDelayed(runnable, 1000);
} else if(event.getAction() == MotionEvent.ACTION_UP){
actionHandler.removeCallbacks(runnable);
}
return false;
}
});
你可以玩玩时间以获得更多"real"的感觉,但我相信这很漂亮。
希望对你有帮助
有人可以解决这个问题吗?我的操作栏中有一个微调器,我想在其中捕获长按事件,OnLongClickListener 或单个项目的 OnItemLongClickListener - 以便用户可以编辑值。
我了解到微调器不支持长按,但我希望某些东西 changed/someone 可能有解决方法。
这是编辑字符串的理想解决方案 - 操作栏中没有足够的 space 来放置用于编辑的专用按钮,我的用户直觉地尝试长按以进行编辑。
这里有一些相关的问题(虽然现在已经很老了): Android spinner item long click/touch, How can I use spinner setOnItemLongClickListener
您应该可以 "simulate" 使用以下代码长按:
final Handler actionHandler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
Toast.makeText(Activity.this, "Long click performed", Toast.LENGTH_SHORT).show();
}
};
spinner.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
actionHandler.postDelayed(runnable, 1000);
} else if(event.getAction() == MotionEvent.ACTION_UP){
actionHandler.removeCallbacks(runnable);
}
return false;
}
});
你可以玩玩时间以获得更多"real"的感觉,但我相信这很漂亮。
希望对你有帮助