您的位置:首页 > 移动开发 > Android开发

安卓事件分发

2018-04-11 21:18 246 查看
写一个ListView结合ScrollView的事件分发。

public class EventActivity02 extends AppCompatActivity {

private ListView lv;
private ScrollView sv;
private List<String> mDatas;
private ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_event02);
lv = (ListView) findViewById(R.id.lv);
sv = (ScrollView) findViewById(R.id.sv);
//给ListView添加一点数据
mDatas = new ArrayList<>();
for (int i = 0; i < 30; i++) {
mDatas.add("第"+i+"条数据");
}

adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,mDatas);

lv.setAdapter(adapter);

lv.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_UP){
sv.requestDisallowInterceptTouchEvent(false);
}else{
//                 lv.getParent().getParent().requestDisallowInterceptTouchEvent(true);
//                  请求父控件不要拦截触摸事件,上下两行代码是一个意思。
sv.requestDisallowInterceptTouchEvent(true);
}

return false;
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android