我有一个带BaseAdapter的ListView.在XML中,我将项目分隔符指定为红色,高度为10dip.
<ListView android:layout_width="fill_parent"
android:layout_height="0px"
android:id="@+id/lv"
android:layout_weight="1"
android:cacheColorHint="#00000000"
android:divider="#FF0000"
android:dividerHeight="10dip"
android:fadingEdge="none">
</ListView>
Run Code Online (Sandbox Code Playgroud)
但是,当应用程序运行时,我没有看到项目之间的红色分隔符.有人可以告诉我为什么吗?谢谢.
编辑:在我的适配器代码中,我有以下代码:
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
因为我想控制每个项目的onClick行为.我不知道上面的代码是否会使分隔符消失.
我有一个简单的列表视图,我已经为分隔符定义了一个自定义drawable.我已将分隔符高度定义为1dp.列表视图位于片段内.
<shape
android:shape="line" >
<stroke
android:color="@color/custom_color" />
<gradient android:height="1dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
它适用于除L以外的所有Android版本.
我缺少什么?
android android-layout android-listview android-5.0-lollipop
AsyncTask用户点击我的项目后,我正在做一些工作ListView.我想禁用该项目,因此无法单击两次.我已经简化了点击监听器只包含这个方法,但它仍然没有为我做任何事情,视图看起来是一样的,它让自己再次愉快地点击,这让我非常烦恼.
public void onItemClick(AdapterView<?> parent, View clickedView,
int position, long id) {
item = (Episode) parent.getItemAtPosition(position);
clickedView.setClickable(false);
clickedView.setEnabled(false);
clickedView.invalidate();
}
Run Code Online (Sandbox Code Playgroud)
每行的"我的视图"是一个LinearLayout带有两个TextViews 的自定义.