Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
676 views
in Technique[技术] by (71.8m points)

android - Selected Item issue while scrolling listview

i am using following code to display list of tags now when i select any item a tick mark is displayed before that selected item.

and i move to next activity. now problem is when i come to this activity again using back button and scroll on that listview tick marks are displayed before many tags instead of single one i selected.

any one guide me what mistake am i doing here?

ImageView selectedTickImageView;
getview{

    if (convertView == null) {
                        convertView = mInflater.inflate(R.layout.row_tags_archives, null);
                        holder = new ViewHolder();
                        holder.tickImageView= (ImageView)convertView.findViewById(R.id.tick_image_view);
                        holder.titletextView = ( TextView )convertView.findViewById(R.id.tv_tags_archives);
                        holder.tickImageView.setTag(position);

                        convertView.setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View paramView) {
                                    if(selectedTickImageView != null){
                                        selectedTickImageView.setVisibility(View.GONE);
                                    }

                                    ImageView tickImageView = (ImageView)paramView.findViewWithTag(position);
                                    tickImageView.setVisibility(View.VISIBLE);

                                    selectedTickImageView =tickImageView;
                                    S=tags[position];
                                    S=S.replace(" ", "-");
                                    S=S.toLowerCase();
                                    Intent intent = new Intent(HPressTagsorUpdatesActivity.this ,HPressSummariesActivity.class);
                                    startActivity(intent);
                            }});

                        convertView.setTag(holder);

                      } else {
                        holder = (ViewHolder) convertView.getTag();
                      }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Even I had a similar problem, I had a list of contacts when I selected one others used to get set automatically..

To solve this problem, I added a ArrayList and added the position of the item which was clicked. And while drawing in getView of my adapter, I used to check if it is present in my arraylist.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...