我在可扩展列表视图上实现了两个功能。
- 当用户单击组视图时应显示子视图(默认情况下发生)
- 还实现了一个从左到右的长滑动监听器,如果用户长滑动,他将被带到一个新的活动。
这两个动作都运行良好。但是,当我在屏幕上长滑时,列表视图会打开并显示子元素(参见上面的 1),然后再进入新的活动。
代码的相关部分是:
ExpandableListView elvCat;
.
.
.
mAdapter = new SimpleExpandableListAdapter(
WordListFragment.this.getActivity(),
groupDataCat,
R.layout.word_list_item,
new String[] {WORD},
new int[] { R.id.tvWord },
childDataCat,
R.layout.meaning_list_item,
new String[] {MEANING},
new int[] { R.id.tvMeaning}
);
elvCat.setAdapter(mAdapter);
.
.
elvCat.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView arg0, View arg1, int arg2,
long arg3) {
if (swipeDetector.swipeDetected()) {
if (swipeDetector.getAction() == SwipeDetector.Action.LR) {
elvCat.collapseGroup(arg2);
Toast.makeText(getActivity(),
"Left to right", Toast.LENGTH_SHORT).show();
}
if (swipeDetector.getAction() == SwipeDetector.Action.RL) {
Intent detailIntent = new Intent(getActivity(), WordDetailActivity.class);
startActivity(detailIntent);
}
}
return false;
}
});
请告诉我如何避免这种情况。