简体   繁体   English

带有适配器的Android ListView突出显示所选项目行

[英]Android ListView with adapter to highlight selected item row

Sorry if this is answered already, but I can't find anything and I can't specify my search very well. 抱歉,如果已经回答了,但是我找不到任何东西,也无法很好地指定搜索条件。 I have a list view in Fragment which uses an adapter to populate it, and I want the list view item rows, to get highlighted for a second when they get clicked, and I want them to get highlighted for just half a second then get back to normal (basically like a feedback that the item row is clicked), like the default call log works in the phone app. 我在Fragment中有一个列表视图,它使用适配器填充它,我希望列表视图项目行在单击时突出显示一秒钟,我希望它们仅突出显示半秒钟然后返回正常(基本上就像单击了项目行的反馈一样),例如默认的通话记录在电话应用程序中有效。 My adapter is exending ArrayAdapter. 我的适配器正在扩展ArrayAdapter。 Any ideas? 有任何想法吗?

EDIT: Here's the adapter getView() 编辑:这是适配器getView()

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        holder = new ViewHolder();
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    CallStats call = callsArray.get(position);
    convertView = inflater.inflate(R.layout.item_row_call, null);
    initializeViews(holder, convertView);
    setViewsEntries(holder, call);
    convertView.setTag(holder);
    return convertView;
}

您可以使用“ setSelector”,例如:

listView.setSelector(android.R.color.black);

这就是问题所在,因为单击后,项目行暂时没有被突出显示,因为在item_row.xml中,我设置了背景,没有背景,它就可以正常工作,没有任何其他代码

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM