触摸焦点上自定义列表视图的textview项目的选取框效果

时间:2011-07-20 08:55:47

标签: android android-layout

我创建了一个自定义列表视图。在每个listitem我有一个textview。每当用户触摸该特定列表项时,我都需要为其应用选框。

我曾尝试过设置

android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"

当我推出setselected(true)时这项工作;在getview()中,但是对于列表中的每个项目。我需要仅为聚焦/按下的项目启用选取框。

2 个答案:

答案 0 :(得分:2)

我认为当你触摸一个项目时,此时你会在设置选框后获得TextView.Goodluck。

答案 1 :(得分:0)

我知道这是一个旧帖子,但最近我在我的平板电脑上遇到了这个问题,它没有物理滚动按钮(就像我的手机一样)滚动列表视图项目(没有通过点击实际选择项目)它)。 在我的手机上,当我滚动列表视图项目时,“品牌”从第1天开始一直有效。 所以我在onListItemClick ...

中做了一些摆弄

结果如下:

@Override
protected void onListItemClick(ListView list, View v, int position, long id) {
    final View t = v.findViewById(R.id.YOURTEXTVIEW_ID_HERE);
    t.requestFocusFromTouch();
    list.setSelectionFromTop(position, v.getTop());
    super.onListItemClick(list, v, position, id);
}

我已尝试过requestFocus,requestFocusFromTouch和list.setSelectionFromTop的各种组合,但上述组合是使其工作所需的最少方法,并使listitem保持在它所处的位置。它还使用list.setSelection(position),然后将所选项目尽可能地推到listview的顶部,就像这个方法一样。

在xml中我只得到:

android:ellipsize="marquee"
android:singleLine="true"