当我使用startActivityForResult在DialogFragment上显示一个Android联系人列表时:
contact.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
startActivityForResult(new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI), REQUEST_CODE_PICK_CONTACTS);
return true;
}
});
);
当联系人列表出现时我应该在联系上点击两次或三次,直到列表消失而不是一次点击
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_PICK_CONTACTS && resultCode == getActivity().RESULT_OK) {
uriContact = data.getData();
contact.setText(name);
}
}
答案 0 :(得分:1)
而不是在触摸侦听器上使用点击侦听器。
你的触摸是事件被称为三次。 (用于触地,触摸和取消)。
如果您只想使用onTouch,请使用event==MotionEvent.ACTION_DOWN
或event==MotionEvent.ACTION_UP
添加if条件。