我正在使用網格視圖,並且在每個網格單元格中顯示相機預覽,TextView
和LinearLayout
。我希望當我點擊LinearLayout
它的能見度應該消失,只有TextView
應該是可見的。它的工作正常,但有時我遇到問題。假設現在只有兩個單元格可見,當我點擊單元格1的LinearLayout
時,它應該消失,但是單元格2的LinearLayout
消失了。在網格視圖中點擊的項目出現錯誤的位置
public View getView(int position, View convertView, ViewGroup parent) {
Log.d(LOG_TAG,"vikash: gridView Position position: "+position);
final CameraItem camera = getItem(position);
if(convertView == null) {
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = (LinearLayout)inflater.inflate(R.layout.camera_cell, null);
}
final int mlayoutPosition;
mlayoutPosition=position;
final LinearLayout motionLayout = (LinearLayout)convertView.findViewById(R.id.motion_details);
final TextView name = (TextView)convertView.findViewById(R.id.name);
motionLayout.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
camera.ignoreMotionFault();
motionLayout.setVisibility(LinearLayout.GONE);
Log.d(LOG_TAG,"vikash: motionlayout visibility gone for position: "+mlayoutPosition);
name.setVisibility(TextView.VISIBLE);
}
});
return convertView;
}
mlayoutPosition不是問題。我已經添加,只看到日誌。我的問題是當我點擊第一個單元格的motionLayout(網格視圖中的第0個位置)時,第二個單元格的motionLayout的可見性消失了。根據第1單元的motionLayout的邏輯可見性應該消失 –