OnClickListener первого элемента GridView не работает

На этот вопрос был дан ответ.

Но мое требование состоит в том, чтобы повторно использовать представления, поскольку мне приходится иметь дело с большими данными, поэтому я не могу инициировать объект-зритель каждый раз, когда мне нужно отображать представление.

Я использую представление сетки с шаблоном держателя вида, когда я повторно использую convertView, чем onClickListener для первого элемента, который не отвечает, и, касаясь в любом месте gridview, он завершает свое действие.

Ниже приведен мой код для компоновки с элементом GridView.

<GridView android:id="@+id/peopleList" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="2" android:clickable="false" android:gravity="center" android:focusable="false" android:scrollbars="none" android:visibility="visible" android:stretchMode="columnWidth" android:focusableInTouchMode="false" android:background="@color/transparent"> </GridView> 

Ниже мой макет для элементов gridView

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/fl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/selector_gridview_data"> <com.android.volley.toolbox.NetworkImageView android:id="@+id/peopleImage" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/light_color" android:scaleType="fitXY" android:src="@drawable/image_placeholder" /> <TextView android:id="@+id/peopleNameText" android:layout_width="match_parent" android:layout_height="40dp" android:layout_gravity="center|top" android:background="@drawable/picture_gradient_small" android:gravity="left|center" android:paddingLeft="@dimen/horizontal_margin_10dp" android:text="abc123" android:textColor="@color/white" android:textSize="15sp" > </TextView> <ImageButton android:id="@+id/followUnfollow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" android:layout_marginBottom="@dimen/horizontal_margin_10dp" android:layout_marginRight="@dimen/vertical_margin_5dp" android:background="@color/transparent" android:src="@drawable/follow" /> </FrameLayout> 

Ниже приведен код для getView () для моего адаптера

  @Override public View getView(int position, View convertView, ViewGroup parent) { final Person mDiscoverPeople = mDiscoverPlacesList.get(position); if (convertView == null) { mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = mInflater.inflate(R.layout.discover_people_grid_data_update, parent, false); mDiscoverPeopleListItemViewHolder = new DiscoverPeopleListItemViewHolder(); mDiscoverPeopleListItemViewHolder.peopleImage = (NetworkImageView) convertView.findViewById(R.id.peopleImage); mDiscoverPeopleListItemViewHolder.peopleName = (TextView) convertView.findViewById(R.id.peopleNameText); mDiscoverPeopleListItemViewHolder.mFrameLayout = (FrameLayout) convertView.findViewById(R.id.fl); mDiscoverPeopleListItemViewHolder.follow = (ImageView) convertView.findViewById(R.id.followUnfollow); convertView.setTag(mDiscoverPeopleListItemViewHolder); } else { mDiscoverPeopleListItemViewHolder = (DiscoverPeopleListItemViewHolder) convertView.getTag(); } mDiscoverPeopleListItemViewHolder.peopleImage.setImageUrl(mDiscoverPeople.getImgUrl(), imageLoader, false); mDiscoverPeopleListItemViewHolder.mFrameLayout.setLayoutParams(new GridView.LayoutParams(AppConstants.columnWidth - AppConstants.columnPadding, AppConstants.columnWidth - AppConstants.columnPadding)); mDiscoverPeopleListItemViewHolder.peopleName.setText(mDiscoverPeople.getName()); if (mDiscoverPeople.isFollowed()) mDiscoverPeopleListItemViewHolder.follow.setImageResource(R.drawable.following); else mDiscoverPeopleListItemViewHolder.follow.setImageResource(R.drawable.follow); mDiscoverPeopleListItemViewHolder.follow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FollowUnfollowUser mFollowUnfollowUser = new FollowUnfollowUser(mContext, mDiscoverPeopleListItemViewHolder.follow, mDiscoverPeople); mFollowUnfollowUser.followUnFollowUser(AppConstants.DISCOVER_PEOPLE); Toast.makeText(mContext, "Follow/Unfollow", Toast.LENGTH_SHORT).show(); } }); mDiscoverPeopleListItemViewHolder.peopleImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent mUserProfile = new Intent(mContext, FriendsRekkiesList.class); Bundle userData = new Bundle(); userData.putSerializable(AppConstants.USER_DETAILS, mDiscoverPeople); mUserProfile.putExtras(userData); mContext.startActivity(mUserProfile); } }); return convertView; } 

Если я не буду повторно использовать свои представления, он отлично работает, за исключением производительности приложения, мне нужен способ решить эту проблему.

Любые предложения будут оценены …. Thankx