1

我有一个片段中的元素列表。我想禁用列表的标题

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" 但它不起作用。

4

2 回答 2

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...
        }
    }

});
于 2012-04-11T10:18:48.880 回答
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);
}
于 2012-04-11T11:13:59.540 回答