Does anyone know how to highlight a selected item in a Android listView?

好久不见. 提交于 2019-12-04 17:37:35
honor21

Here is an example:

private class ItemAdapter extends SimpleAdapter {

    private int mItemIndex = -1; 

    public ItemAdapter(Context context,
        List<? extends Map<String, ?>> data, int resource,
        String[] from, int[] to) {
        super(context, data, resource, from, to);
        // TODO Auto-generated constructor stub
    }

    /* (non-Javadoc)
     * @see android.widget.SimpleAdapter#getView(int, android.view.View, android.view.ViewGroup)
     */
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        View view = super.getView(position, convertView, parent);
        if (position == mItemIndex) {
            convertView.setSelected(true);
            convertView.setPressed(true);
            convertView.setBackgroundColor(Color.parseColor("#FF9912"));
        }

        return view;
    }

    public void setSelectItem(int index) {
        mItemIndex = index;
    }

    public int getSelectItem() {
        return mItemIndex;
    }

}

When you select an item, the onItemClick function is like:

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    ((ItemAdapter)list.getAdapter()).setSelectItem(arg2);
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!