4 Stimmen

Ruckartiges Blättern im Blackberry

Ich habe Probleme mit dem vertikalen Scrollen in einer Blackberry-App. Es funktioniert gut auf Touchscreens, aber wenn ich mit einem Trackpad scrolle, springt es von der oberen Position zur unteren Position.

Hatte jemand ein ähnliches Problem? Irgendeine Idee, was ich versuchen könnte?

Hier ist ein Schnipsel aus meinem Code. Ich habe ein statisches Hintergrundbild und die Felder scrollen darüber:

vertical_main = new VerticalFieldManager(USE_ALL_WIDTH |NO_VERTICAL_SCROLL |USE_ALL_HEIGHT);
vertical_AllTags=new VerticalFieldManager(USE_ALL_WIDTH | VERTICAL_SCROLL);
// i then add all the fields to vertical_AllTags
vertical_main.add(vertical_AllTags);
vertical_main.invalidate();
add(vertical_main);

vielen Dank im Voraus für Ihre Hilfe

EDIT: Der Vorschlag, jedem Feld den Fokus zu geben, war richtig. Der einzige andere Teil, der getan werden muss, ist, wenn Sie die onFocus-Methode für ein Feld überschreiben, müssen Sie die super()-Funktion aufrufen, so dass alle anderen normalen Teile der onFocus-Methode noch aufgerufen werden:

protected void onFocus(int direction) {
    text_select=true;
    invalidate();
    super.onFocus(direction);
}

protected void onUnfocus() {
    text_select=false;
    invalidate();
    super.onUnfocus();
}

Ich danke Ihnen vielmals.

1voto

alishaik786 Punkte 3678

Dies geschieht, weil beim TrackWheel-Scrolling zum nächsten Punkt gescrollt wird. Fokussiert Feld. Ich denke, Sie legen keinen Schwerpunkt auf die vertical_AllTags .

Sie können dies lösen, indem Sie NullFeld() Klasse. Wie...

add(new NullField(Field.FOCUSABLE))

wenn Sie Folgendes hinzufügen add(new NullField(Field.FOCUSABLE)); erhalten Sie den Null-Fokus, der Ihnen nicht bekannt ist. Und Sie können in allen Feldern wie auf dem Touchscreen navigieren.

1voto

Govindarao Kondala Punkte 2862

Dies ist ein häufiges Problem bei Geräten ohne Touch-Funktion für Anfänger. Wenn Sie Feld für Feld blättern möchten, gibt es zwei Möglichkeiten

1) Sie müssen allen Feldern den Fokus geben, dann wird er feldweise kommen Feld Fokus nach unten

eine andere Möglichkeit ist, dass Sie sich nicht auf jedes einzelne Feld konzentrieren müssen

2) Fügen Sie einfach das NullField nach jedem Feld hinzu und geben Sie den Fokus auf alle NullFields, dann wird Ihr Trackball Ihren Bildschirm Feld für Feld bringen

0voto

Sie können dieses Problem lösen, indem Sie zwei vertikale Feldmanager hinzufügen. Schauen Sie sich den Code in diesem Beitrag

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X