我遇到了ListView问题。 基本上,我有这个隐藏的ListView在TextView点击上显示。 这没问题。 当我单击ListView的Item时,我想显示另一个Layout(包含TextView& a FloatingButton)。 问题是,当我显示LinearLayout时,我不能再点击ListItem了。有什么建议吗?
这里有一些代码: 的 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);
}
}
);
答案 0 :(得分:0)
这不是正确的解决方案 - 只是一种解决方法:
当我显示ContainerLayout
时,我只是再次隐藏ListView
。
这让我再次点击项目。
刚刚:仍在寻找更好的解决方案。
答案 1 :(得分:0)
尝试以下解决方案, 更改列表视图,android:layout_height =&#34; wrap_content&#34;到android:layout_height =&#34; match_parent&#34;,另外尝试删除android:clickable =&#34; true&#34; 机器人:可聚焦=&#34;假&#34; 机器人:focusableInTouchMode =&#34;假&#34;来自浮动按钮。