Wie man text in eine ausgewählte Zeile in der ListView, wenn ListView bekam item und subitem

Ich habe eine listview

ListView poiList = (ListView) findViewById(R.id.poiList);

und im Auffüllen von es mit

SimpleAdapter adapter = new SimpleAdapter(this, data,
                        android.R.layout.simple_list_item_2,
                        new String[] {"name", "dist"},
                        new int[] {android.R.id.text1,
                                   android.R.id.text2});
        poiList.setAdapter(adapter);

Mit diesem SimpleAdapter, es gibt ein item und Unterelement für jede Zeile in der ListView. Alles funktioniert perfekt.

Nun implementiere ich onItemClick für meine ListView:

poiList.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {

            String poiName = ((TextView)view).getText().toString();
}
 }

Aber ich kann nicht den text in der Zeile, die ich gewählt habe. Ich denke, Es gibt mehr als einen einzelnen TextView in dieser Zeile ( Position und Unterposition). Wie kann ich dieses beziehen?

  • haben Sie versucht, die Sicht.findViewById(...)?
  • Die Ansicht wird automatisch übergeben als parameter, wenn Sie geklickt werden, und ist bezeichnet als "Blick" in den code. Ich weiß nicht, wie kann ich extrahieren Sie den text aus, genauer gesagt, wie kann ich extrahieren Sie die zwei strings (Position, Unterposition)
  • Ich erwartete somenthing wie der Ansicht.getText1() /anzeigen.getText2() oder auf Ansicht.getItem() / anzeigen.getSubitem()
  • Der Ansicht ist das listItem selbst, und nicht die TextView. Sie müssen rufen Sie findViewById (), um die tatsächliche TextView. Sie zugewiesen, mit dem TextView eine id, wenn Sie initialisiert die SimpleAdapter.
  • check meine Antwort. ich erklärte, dass.
  • Gelöst, danke, Sie haben ja so Recht (ich bin dumm) String poiName = ((TextView) view.findViewById(android.R.id.text1)).getText().toString();
  • Ich habe eine Antwort, so dass ich hoffe, Sie können akzeptieren es als richtig, da es dein problem gelöst hat. Dank

InformationsquelleAutor Mattia | 2013-04-02
Schreibe einen Kommentar