2012-04-08 20 views
0

Ich versuche, die Position der gedrückten Taste in einer Liste von Preference abzurufen. Meine Klasse erstreckt sich PreferenceActivity. Dies ist mein Code:onItemClickListener on PreferenceActivity

ListView listView = getListView(); 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> av, View view, int i, long l) { 
      Toast.makeText(Activity.this, "myPos "+i, Toast.LENGTH_LONG).show(); 
     } 
    }); 

Meine XML wie dieses auf Toast

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
     <Preference 
     android:key="key1" 
     android:title="string1" 
     android:summary="summary1" 
     android:icon="@drawable/someicon"/> 
     <Preference 
     android:key="key2" 
     android:title="string2" 
     android:summary="summary2" 
     android:icon="@drawable/someicon2"/> 
     ... 
</PreferenceScreen> 

Im immer nichts geht, so onItemClickListener nicht aufgerufen werden.

Vielen Dank im Voraus.

EDIT: Danke für nicht zu antworten, dass Art und Weise ich mich beantwortet: D

+0

Wenn Du hast die Lösung selbst gefunden, kannst du bitte die Antwort für andere posten. Auf diese Weise, wenn jemand anderes das gleiche Problem hat, kann es ihnen auch helfen. Wenn Sie die Antwort nicht posten möchten, löschen Sie einfach die Frage. – prolink007

+0

Ich habe gerade eine for-Schleife gemacht, um jede Präferenz "onPreferenceClick" zu instanziieren –

Antwort

0

Ich kann dies durch die OnItemClickListener Weise nicht lösen, also ging ich für eine Schleife für assign auf jede Präferenz ein onPreferenceClick