您使用的SwipeListView在其后视图上有两个按钮我正在尝试以编程方式设置SwipeListView,以便通过将滑动模式设置为none来不滑动。我遇到的问题是前视图现在没有注册点击。有谁知道为什么???
到目前为止,我试过的是什么
final SwipeListView messagesList = (SwipeListView)v.findViewById(R.id.list);
if(r_deleteMessages == false || r_markMessages == false) messagesList.setSwipeMode(SwipeListView.SWIPE_MODE_NONE);
if(messageData != null){
ViewGroup.LayoutParams params = messagesList.getLayoutParams();
int size;
size = messageData.size();
params.height = (SM_Global.pxFromDp(context, 80) * size) +3;
messagesList.setLayoutParams(params);
messagesList.requestLayout();
messagesList.setFocusable(false);
final MessagesAdapter messagesAdapter = new MessagesAdapter(context, R.layout.layout_message_item, messageData,messagesList,"profile");
messagesList.setAdapter(messagesAdapter);
Log.v("Auth","CAN READ MESSAGES | " + r_readMessages);
messagesList.setSwipeListViewListener(new BaseSwipeListViewListener() {
@Override
public void onClickFrontView(int position) {
super.onClickFrontView(position);
Log.v("Auth","CLICKED ");
}
});
答案 0 :(得分:0)
您可以将监听器添加到列表视图并覆盖onChangeSwipeMode
if(r_deleteMessages == false || r_markMessages == false){
mList.setSwipeListViewListener(new BaseSwipeListViewListener() {
@Override
public int onChangeSwipeMode(int position) {
return SwipeListView.SWIPE_MODE_NONE;
}
});
}
这样你仍然可以获得触摸事件。
您可能还需要执行mList.setSwipeOpenOnLongPress(false);
以取消长按
答案 1 :(得分:0)
我尝试了建议的方法,但对我没有用。所以我在List Adapter&处理那里的点击事件。现在工作正常。