Ich habe Probleme mit einem ListView. Grundsätzlich habe ich diese versteckte ListView, die auf einem TextView-Klick angezeigt werden soll. Das funktioniert ok. Wenn ich auf ein Element der ListView klicke, würde ich gerne ein anderes Layout (mit einem TextView & einem FloatingButton) anzeigen. Das Problem ist, dass wenn ich das LinearLayout zeige, ich nicht mehr auf das ListItem klicken kann. Irgendwelche Vorschläge?ListView-Elemente sind nicht anklickbar, wenn ich ein LinearLayout als Geschwister zeige
Hier einige Code: Layout.xml
<ListView
android:id="@+id/meal_insertion_meals_portions_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/meal_insertion_location"
android:layout_above="@id/meal_insertion_add_container"/>
<LinearLayout
android:id="@id/meal_insertion_add_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="8dp">
<android.support.design.widget.FloatingActionButton
android:id="@+id/meal_insertion_add_meal_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:src="@drawable/ic_add"
android:tint="@android:color/white"
app:backgroundTint="@color/colorPrimary"/>
<TextView
android:id="@+id/meal_insertion_add_meal_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="center_vertical|center_horizontal"
android:text="@string/diary.meal.insertion.aliment.add"
android:textColor="@color/colorPrimary"/>
</LinearLayout>
Fragment.java
mealSelector.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (selectorList.getVisibility() == View.VISIBLE) {
selectorList.setVisibility(View.GONE);
mealLocation.setVisibility(View.VISIBLE);
} else {
selectorList.setVisibility(View.VISIBLE);
mealLocation.setVisibility(View.GONE);
}
}
});
selectorList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView t1 = (TextView) view.findViewById(android.R.id.text1);
mealSelector.setText(t1.getText());
selectorList.setVisibility(View.GONE);
mealLocation.setVisibility(View.VISIBLE);
addLayoutContainer.setVisibility(View.VISIBLE);
}
}
);
"Das Problem ist, dass ich, wenn ich das LinearLayout zeige, nicht mehr auf das ListItem klicken kann." - Versteckst du nicht die 'ListView', wenn du auf ein Objekt klickst und das' LinearLayout' zeigst? 'selectorList.setVisibility (View.GONE);' Sprechen Sie darüber? –
Wenn ich erneut auf den TextView klicke, werde ich den listView erneut anzeigen, und ich möchte einen beliebigen anderen Eintrag auswählen. Das Problem ist, dass Elemente nicht mehr anklickbar sind, wenn addLayoutContainer sichtbar ist. –
Ah, OK. Sind Sie sicher, dass etwas Ihre "ListView" irgendwie nicht abdeckt und die Klicks blockiert? –