불가능한 방법은 없습니다. 어려운 일은 할 수 있습니다. 직접이 일은 성취 될 수 없지만 간접적으로 성취 될 수 있습니다. 그렇습니다. 어떻게 달성 했습니까? 조금 복잡하지만 그렇습니다. 어떻게 달성했는지 공유 할 수 있습니다. 자신의 Toch는 방법은 서로를 차단하지 않으며, 그이 requestDisallowInterceptTouchEvent(true);
이 블록 부모의 TouchListener
을 사용하여 수행 할 수 있도록 내가 목록보기의 터치 모드를 차단 Textview
에 클릭 ListView
에서
(ListView
).
지금 TextView
에 클릭하면, 화면은 터치 리스너를 허용하는 경우도 setMovementMethod
() 하지만 운동을 위해 나는 사용자 정의 클래스를 만들어 내가는 TouchIntercepter 수 있도록 부모를 클릭하면 클래스는 그 후
public class myScrollMethod extends ScrollingMovementMethod {
@Override
public void onTakeFocus(TextView widget, Spannable text, int dir) {
// TODO Auto-generated method stub
super.onTakeFocus(widget, text, dir);
}
@Override
public boolean onKeyDown(TextView widget, Spannable buffer,
int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_DOWN:
for (int i = 0, scrollAmount = getScrollAmount(widget); i < scrollAmount; i++) {
down(widget, buffer);
}
return true;
case KeyEvent.KEYCODE_DPAD_UP:
for (int i = 0, scrollAmount = getScrollAmount(widget); i < scrollAmount; i++) {
up(widget, buffer);
}
return true;
default:
return super.onKeyDown(widget, buffer, keyCode, event);
}
}
private int getScrollAmount(TextView widget) {
final int visibleLineCount = (int) ((1f * widget.getHeight())/widget
.getLineHeight());
int scrollAmount = visibleLineCount - 1;
if (scrollAmount < 1) {
scrollAmount = 1;
}
return scrollAmount;
}
}
에 따라입니다 부모의 값을 true로 설정하면 부모를 잡고 스크롤을 시작합니다. 내가 성공적으로 이러한 요구 사항을 달성 한이 방법으로