0

편집 텍스트와 이미지가있는 단일보기 레이아웃이 있습니다. listview에 데이터를 표시하려면 arrayadapter를 사용하고 있습니다. 첫 번째 행에 텍스트 편집에 값을 입력하는 중. 데이터가 listview의 다른 행으로 반복됩니다. 어떻게 해결할 수 있습니까?Listview에는 편집 텍스트가있는 Arrayadpater가 있습니다.

View rowView = null; 
    try { 
     if (convertView == null) { 
      //inflating view. 
      rowView = 
inflater.inflate(R.layout.list_single_view,null,false); 

     } 
     else 
     { 
      //Setting view if layout is already implemented. 
      rowView = convertView; 
     } 

     imageView = (ImageView) 
rowView.findViewById(R.id.iv_activity_image_single); 

     //Facing issue here in editText . The entered text gets repeated 
     et_image_name = (EditText)  
rowView.findViewById(R.id.txt_user_notes); 
     et_image_description = (EditText) 
rowView.findViewById(R.id.txt_user_description); 

     //Loading image using universal image loader to imageView 
     if (equipmentPicturesList.get(position) != null) { 
      Constant.imageLoader.displayImage("file:///" + 
equipmentPicturesList.get(position).toString(), imageView, Constant.options, 
        new SimpleImageLoadingListener()); 
     } 
     else { 
      imageView.setBackgroundResource(R.drawable.ic_launcher); 
     } 
} 
    catch (Exception e) { 
     Logger.loadStackTrace(e); 
    } 

    return rowView; 
+0

우리가 집중할 수 있도록 일부 코딩 시도를 게시하십시오. – xlembouras

+0

감사 xlembouras 및 Xaver Kapeller. 확인해주십시오. –

답변

1

가에있는 어떤 레이아웃의 포커스가있는 EditText 놨가. 그 자체로 약간 까다로울 수 있지만 ListView에 모든 종류의 문제가 발생합니다. 그러나 그 주위에 방법이 있습니다. 을 ListView의 바닥 글이나 헤더에 넣고 addHeaderView 또는 addFooterView으로 입력하면 작동합니다. 머리글이나 바닥 글에서 작동하는 이유는 머리글과 바닥 글보기가 ListView에 의해 재활용되지 않기 때문입니다. 또는 ListView 내부의 일반보기처럼 재활용되지 않도록 EditText에서 setHasTransientState()으로 전화 할 수 있습니다.

특히보기를 여러 개 사용하는 경우보기 재생을 끄면 ListView의 성능과 스크롤 속도에 영향을 줄 수 있습니다.

+0

Xaver kapeller에 대한 귀하의 의견에 감사드립니다. 나는 이미지와 listview 각 행에 텍스트를 편집 할 수 있습니다. Editext는 이미지 이름을 저장하는 데 사용됩니다. edittext의 재활용을 중지시킬 수있는 다른 방법이 있습니까? 제발 조언을주세요 –

+0

다른 방법이 있습니다,하지만 당신은보기 재생을 중지하려고하지 말아야 재활용 등 'ListView'의 전체 목적입니다. 대신에 뭔가를 생각하면'ListView'에서'EditTexts'를 가질 수 있습니다. 일반적으로'ListViews '의'EditTexts'는 안드로이드에서 흔히 볼 수있는 것이 아닙니다. 일반적으로 대화 상자는 사용자가'ListView'에서 항목을 선택한 후에 데이터를 입력하는 데 사용됩니다. –

관련 문제