Android:使用parsequery适配器更改listview中imageview的图像

时间:2014-10-02 21:30:44

标签: android android-listview android-imageview android-parsequeryadapter

我能够根据位置为ListView中的每个特定项目做很多事情。现在,我正在尝试更改ImageViewListView的图像,但由于某种原因,我不能。每次点击它时,位于其下方或上方的几个位置的ImageView会改变。

我正在使用ParseQueryAdapter

    public class MyCustomAdapter extends ParseQueryAdapter<ParseObject> {


        public MyCustomAdapter(Context context, String className,
                int itemViewResource) {
            super(context, className, itemViewResource);
        }

        @Override
        public View getItemView(final ParseObject status, View convertView, ViewGroup parent) {
            convertView = View.inflate(getActivity().getApplicationContext(), R.layout.status_list_view_item, null);
            mListViewReferences(convertView, status);
            statusText = (TextView) convertView.findViewById(R.id.statusText);
            statusText.setText(status.getString("Status")); 

            // Set the count number for the like counter depending on the users that liked it
            likeCounter = (TextView) convertView.findViewById(R.id.likeCounter);
            likeCounter.setText("" + status.getInt("likeCount"));

            ................

            return super.getItemView(status, convertView, parent);
        }

        /**
         * Set References
         * @param View view
         * @param ParseObject status
         */
        private void mListViewReferences(final View view, final ParseObject status) {
            statusLike = (ImageButton) view.findViewById(R.id.statusLike);

            /**
             * onClickListeners and actions to perform
             */

            //Like/Unlike current status
            statusLike.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    /**
                    I want to do it in here, i want to change the image of "statusLike" in here depending on the position.
                    */


                }
            });
}

我已经尝试了很多方法,我也把它包含在当前的if / else语句中我使用gor likeCount,但它仍然不起作用。 likeCount有效,状态文本和标题也有效。除了更改当前子位置内的图像外,一切都有效。

1 个答案:

答案 0 :(得分:1)

我是以正确的方式做的,我只是错过了一个非常重要的步骤,即在onClickListener中包含notifyDataSetChanged()。