Fokus auf ein beliebiges Element der Listenansicht in Android

8

Ich habe eine Listenansicht, die Textansichten als Elemente enthält.

  1. Jetzt möchte ich, dass das erste Element der Liste automatisch fokussiert wird, wenn ich die Anwendung
  2. starte
  3. Wie kann ich den Fokus auf ein beliebiges Element der Liste setzen, wenn ich auf eine andere Ansicht klicke, zum Beispiel auf eine Schaltfläche?
sarvesh 02.07.2010, 18:31
quelle

5 Antworten

7

Die Auswahl der Einstellungen und die Einstellung des Fokus sind zwei verschiedene Dinge. Wenn Sie nur eine Auswahl auf ein Element setzen möchten, können Sie den folgenden Code verwenden.

%Vor%

Aber das bedeutet definitiv nicht, dass Listview fokussiert ist. Für die Fokussierung müssen Sie

verwenden %Vor%

Um den Fokus beim Klicken auf eine Schaltfläche zu ändern, können Sie den Code auf onClick() der Schaltfläche setzen.

    
Abhilasha 21.06.2012 07:57
quelle
4

ListView verfügt über eine Methode setSelected , die den Index des Elements übernimmt in der Liste.

    
Robby Pond 02.07.2010 19:43
quelle
2

für mich wurde das Problem von

gelöst %Vor%     
Lukas Hanacek 30.01.2015 07:38
quelle
1

Ich glaube, ich war in der gleichen Situation. Ich wollte in der Lage sein, den Fokus der Listenansicht programmatisch mit Schaltflächen zu steuern.

Eine Lösung besteht darin, mit setFocusableInTouchMode umzugehen, aber ich habe es nie geschafft, dass es funktioniert.

Die andere Lösung besteht darin, den Fokus zu vergessen und eine überprüfbare Listenansicht zu verwenden. Setzen Sie Ihre Listenansicht zunächst auf "Single-Choice-Modus" in XML oder in Java: Mylistview.setChoiceMode(1)

Dann können Sie jedes gewünschte Element mit Mylistview.setItemChecked(position, true)

überprüfen

Wenn Sie also die Anwendung (OnCreate) zu Mittag essen, verwenden Sie Mylistview.setItemChecked(0, true) , um Ihren ersten Eintrag zu überprüfen.

Wenn Sie möchten, dass Ihre Schaltfläche beispielsweise das nächste Element auswählt, verwenden Sie:

%Vor%

Sie können das Aussehen festlegen, wenn das Element aktiviert ist oder nicht, und es gibt verschiedene vordefinierte checkbare Listenansichten.

Weitere Erläuterungen finden Sie in meinem Beitrag

    
Jecimi 12.06.2012 14:59
quelle
1
  1. Ihr ListView sollte so aussehen:

    %Vor%
  2. mListView.setSelection(3); //or any other number

Grimmy 03.04.2015 18:21
quelle

Tags und Links