我在LinearLayout
中收集了textViews
,我希望它们在长按时选择。我尝试了这段代码,但它不起作用...
textView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
textView.setSelected(true);
selected = 1;
return false;
}
});
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(selected == 1){
if(textView.getSelected())
textView.setSelected(false);
else
textView.setSelected(true);
}
}
});
我试图搜索setOnLongPressListener
但没有找到类似的东西。 请向我建议我想要的操作的任何方法。
我假设您想在长按选择时突出显示文本视图。试试这个:
textView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
boolean selected = !view.isSelected();
view.setSelected(selected);
view.setBackgroundColor(selected ? Color.RED : Color.TRANSPARENT);
return true;
}
});
您必须在 xml 文件中的 TextView可单击属性中输入true:
<TextView
android:clickable="true"/>
问候。
在 setOnLongClickListener(( 中将返回类型false更改为 true。
如果您返回 false,它会同时触发 setOnLongClickListener(( 和 setOnClickListener(( 方法。所以这可能是问题所在。
您可以在LongClick上将背景的颜色更改为不同。