Я работаю над перетаскиванием себя, но могу сделать предложение. Вам нужно забыть об использовании стандартного main.xml и делать все в коде, используя внутренние классы. Это не так сложно, и внутренние классы могут видеть родительских слушателей.
private MotionEvent ev;
TextView mainText;
LinearLayout layout;
KeyboardView keyboard;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
KeyboardView keyboard = new KeyboardView(this);
mainText = new TextView(this);
mainText.setText("The main text. ");
mainText.setHeight(120);
mainText.setBackgroundColor(Color.LTGRAY);
mainText.setTextColor(Color.BLACK);
layout.addView(mainText);
layout.addView(keyboard);
setContentView(layout);
}
public class KeyboardView extends View {
.
.
.
}
Chris