android - 如何使用 onItemSelectedListener 改变 View 的颜色

标签 android android-layout

我似乎不知道如何让 onItemSelectedListender 接口(interface)工作。我想更改所选项目的颜色,然后在取消选择后将其更改回来。我读了一些书,不久前我设法用 onItemSelectedListener 做了类似的事情。

我的代码是

libraryGrid.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {

            //I want to change the color of the view that was just selected
            view.setBackgroundColor(Color.GRAY);
            adapterView.getSelectedView().setBackgroundColor(Color.YELLOW);

        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
            //How do I access the view that was just unselected to change it's color?
            adapterView.setBackgroundColor(Color.BLACK);
        }
    });

最佳答案

您跟踪所选项目并通过 getView 方法更改该项目的背景..

这样试试..

libraryGrid.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {

             mSelectedItem = position;
                mAdapter.notifyDataSetChanged();


        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });

并在您的 getView 方法中设置所选项目的背景颜色。

   @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        final View view = View.inflate(context, R.layout.item_list, null);

        if (position == mSelectedItem) {
            //set Selected color as background on view
        }
        else{
           //set unSelected color as background on View
        }

        return view;
    }

关于android - 如何使用 onItemSelectedListener 改变 View 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27074122/

相关文章:

android - 如何从 Firemonkey/Delphi 中的条码扫描仪获取数据

Android资源编译在3.3.0-alpha02失败

java - 标签栏粘在顶部而不是折叠工具栏下方

android - Android ui中的圆形布局设计

android - 无法使用 loopj AsyncHttpClient 和授权 header 进行 POST

android - 在PagerAdapter中预加载Fragment的WebView

android - 存储用户可访问的配置文件的最佳位置

java - 加载音池时 Activity 屏幕变为空白

android - 为什么我不能在 Activity 中使用 FloatingActionButton

android - 如何在 Android 中拖放 EditText 的内容?