我有一个片段中的元素列表。 我想禁用列表标题
http://bugs.haploid.fr/file_download.php?file_id=856&type=bug
这是我列表中单元格的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/stations_listView_layout">
<com.infrabel.railtime.views.RobotoMediumTextView
android:id="@+id/header_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:paddingBottom="5dip"
android:layout_marginTop="29dip"
android:text="A"
style="@style/FragmentTitleSecondary">
</com.infrabel.railtime.views.RobotoMediumTextView>
<View
android:id="@+id/header_bar"
android:layout_width="match_parent"
android:layout_height="2dip"
android:background="@color/fragment_title_color">
</View>
<RelativeLayout
style="@style/stations_listView_inner_layout"
android:layout_width="fill_parent"
android:layout_height="60dip">
<com.infrabel.railtime.views.RobotoMediumTextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:layout_gravity="center_vertical"
android:textSize="@dimen/menu_list_item_primary_text_size"
android:textColor="@color/grey_normal">
</com.infrabel.railtime.views.RobotoMediumTextView>
<com.infrabel.railtime.views.RobotoMediumTextView
android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="25dip"
android:textSize="@dimen/fragment_title_text_size"
android:textColor="@color/grey_light">
</com.infrabel.railtime.views.RobotoMediumTextView>
</RelativeLayout>
</LinearLayout>
我试图设置android:clickable = false或android:focusable =“false”并且它不起作用。
答案 0 :(得分:1)
使某些ListView项目无法点击的一种方法是:
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if(position == 0) {
// FIRST ITEM - DO NOTHING
} else {
// DO SOMETHING IF YOU WISH...
}
}
});
另一种方法是修改自定义适配器:
list.setAdapter(new ArrayAdapter<String>(this, R.layout.item,
listItems) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final TextView v = (TextView) super.getView(position,
convertView, parent);
if(position == 0) {
v.setClickable(false);
// havent tested this thou...
}
}
});
答案 1 :(得分:0)
得到它,我在我的cell.xml中
因此每次添加单元格时都会绘制文本。 我们必须在主xml中声明这个,而不是从我们的适配器更改文本:
String firstLetter = station.getTitle().substring(0, 1);
if (position == _alphaIndexer.get(firstLetter)) {
TextView header = (TextView) activity.findViewById(R.id.header_textview);
header.setText(firstLetter);
}