ListView按钮无法正确更新背景

时间:2014-08-18 04:26:09

标签: android listview android-listview imagebutton

我有ListView,它有一个使用ImageButton(btnAdd)的布局。

我遇到的问题是当我按下ListView中填充的布局中的ImageButton时,ImageButton应该将其背景从灰色更改为绿色。

此操作正常,但当ListView中有多个项目时,ImageButton背景会在底部ListView项目上发生更改,而不一定会点击ListView的ImageButton。

我错过了什么?我应该在ListView中引用该项目的位置吗?

@Override
    public View getItemView(final ParseUser pUser, View v, ViewGroup parent) {

        if (v == null) {
            v = View.inflate(getContext(), R.layout.search_detail, null);
        }

        super.getItemView(pUser, v, parent);

        ParseImageView todoImage = (ParseImageView) v
                .findViewById(R.id.imageViewSearch);
        ParseFile imageFile = pUser.getParseFile("photo");
        if (imageFile != null) {
            todoImage.setParseFile(imageFile);
            todoImage.loadInBackground();
        }

        // Add the title view
        final TextView titleTextView = (TextView) v
                .findViewById(R.id.textViewSearch);
        titleTextView.setText(pUser.getUsername());

        btnAdd = (ImageButton) v.findViewById(R.id.imageButtonAdd);
        btnAdd.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
                Drawable background = v.getResources().getDrawable(
                        R.drawable.ui_border_green);
                Drawable img = v.getResources().getDrawable(
                        R.drawable.ico_friend_add_green);

                btnAdd.setBackground(background);
                btnAdd.setImageDrawable(img);

0 个答案:

没有答案