Ich habe eine ListView in meiner App erstellt und jedes Element der Liste entspricht einem bestimmten Ort. Ich möchte zu den Elementen werden, auf die geklickt werden kann. Wenn der Nutzer auf den Namen des Ortes klickt, wird ein Kartenstandort angezeigt. Wie kann ich das machen? Wie kann ich die Elemente der Liste anklickbar machen und zu verschiedenen Links führen?Anklickbare Elemente in Listenansicht - Android Studio
Dies ist meine Aktivität:
public class Guia extends BaseActivity {
String[] predios={"HVET - Hospital Veterinário", "FE - Faculdade de Educação", "BSA SUL - Bloco de Salas de Aula Sul", "BAES - Bloco de Salas de Aula Eudoro de Sousa",
"FACE - Faculdade de Administração, Contabilidade e Economia", "FD - Faculdade de Direito", "PAT - Pavilhão Anísio Teixeira",
"PJC - Pavilhão João Calmon", "IPOL/IREL - Instituto de Ciências Políticas/Relações Internacionais", "CIC/EST - Prédio de Ciência da Computação e Estatística",
"RU - Restaurante Universitário", "IDA - Instituto de Artes", "ICC - Instituto Central de Ciência",
"CDT - Centro de Tecnologia", "CPD - Centro de Informática", "FM/FS - Faculdade de Medicina/Saúde", "CEU - Casa do Estudante", "Centro Olímpico"};
ListView s;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.guia);
s = (ListView) findViewById(R.id.predios);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.predios, R.id.textosiglas, predios);
s.setAdapter(adapter);
}
}
und dies ist meine XML-Datei:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#EBEBEB"
>
<ListView
android:background="@android:color/white"
android:layout_margin="10dp"
android:id="@+id/predios"
android:dividerHeight="10dp"
android:divider="#EBEBEB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
/>
</RelativeLayout>
und das ist mein xml-Adapter:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_margin="10dp"
android:background="@android:color/white"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imagemguia"
android:layout_width="40dp"
android:layout_height="40dp"
app:srcCompat="@drawable/guia"
android:layout_margin="10dp"
android:layout_gravity="center_horizontal|top"
/>
<TextView
android:id="@+id/textosiglas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text=""
android:textColor="@android:color/black"
android:textSize="17sp" />
</LinearLayout>
Siehe auch Dokumentation ... 'setOnItemClick' wird dort auch angezeigt. https://developer.android.com/reference/android/widget/ListView.html –