안드로이드 개발 질문/답변
(글 수 45,052)

리스트뷰에 row 마다 프로그레스바를 넣은경우에서
첨부 파일에 포함되어 있는 이미지 처럼 해당 row를 클릭하면 해당 row의 progressbar만 멈추고 싶은데
prog.setVisibility(View.INVISIBLE);
이렇게 하니까. 전체 프로그레스바가 멈추면서 프로그램이 죽어버리네요...
그럼 답변 부탁드립니다.
소스중 해당 리스트 선택하는 부분입니다.
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent,
View view,
int position,
long id) {
if(prePosision >= 0) {
preView.setEnabled(true);
}
prePosision = position;
preParent = parent;
preView = view;
lv.getAdapter().getView(position, view, parent).setEnabled(false);
lv.getSelectedView();
ProgressBar prog = (ProgressBar)convertView.findViewById(R.id.progress_small);
prog.setVisibility(View.INVISIBLE);
}
});
public void onItemClick(AdapterView parent,
View view,
int position,
long id) {
if(prePosision >= 0) {
preView.setEnabled(true);
}
prePosision = position;
preParent = parent;
preView = view;
lv.getAdapter().getView(position, view, parent).setEnabled(false);
lv.getSelectedView();
ProgressBar prog = (ProgressBar)convertView.findViewById(R.id.progress_small);
prog.setVisibility(View.INVISIBLE);
}
});
=========화면단에 있는 listview ===================
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="535px"
android:background="@drawable/bg_round_set1_repeat"
>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="535px"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="@drawable/bg_round_set1_bottom"
/>
<ListView
android:id="@+id/android:list"
android:layout_gravity="top|center"
android:layout_width="455px"
android:layout_height="515px"
android:background="@android:color/black"
/>
</FrameLayout>
</LinearLayout>
android:layout_width="fill_parent"
android:layout_height="535px"
android:background="@drawable/bg_round_set1_repeat"
>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="535px"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="@drawable/bg_round_set1_bottom"
/>
<ListView
android:id="@+id/android:list"
android:layout_gravity="top|center"
android:layout_width="455px"
android:layout_height="515px"
android:background="@android:color/black"
/>
</FrameLayout>
</LinearLayout>
====== 개별 row 에 대한 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50px"
android:paddingTop="10px"
android:paddingBottom="10px"
android:background="@drawable/item_selector"
android:orientation="horizontal">
<ProgressBar android:id="@+id/progress_small"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/item01"
android:layout_width="250px"
android:layout_height="fill_parent"
android:textColor="@color/text_color"
android:singleLine="true"
android:ellipsize="none"
android:gravity="center_vertical|center"
android:textStyle="bold"
android:textSize="14sp"/>
<TextView
android:id="@+id/item02"
android:layout_width="100px"
android:layout_height="fill_parent"
android:textColor="@color/text_color"
android:singleLine="true"
android:ellipsize="none"
android:gravity="center_vertical|center"
android:textStyle="bold"
android:textSize="14sp"/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50px"
android:paddingTop="10px"
android:paddingBottom="10px"
android:background="@drawable/item_selector"
android:orientation="horizontal">
<ProgressBar android:id="@+id/progress_small"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/item01"
android:layout_width="250px"
android:layout_height="fill_parent"
android:textColor="@color/text_color"
android:singleLine="true"
android:ellipsize="none"
android:gravity="center_vertical|center"
android:textStyle="bold"
android:textSize="14sp"/>
<TextView
android:id="@+id/item02"
android:layout_width="100px"
android:layout_height="fill_parent"
android:textColor="@color/text_color"
android:singleLine="true"
android:ellipsize="none"
android:gravity="center_vertical|center"
android:textStyle="bold"
android:textSize="14sp"/>
</LinearLayout>




Thread 물려놨다면 좀 그렇긴한데 AsyncTask로 image load 하는 부분은 따로 구현 하시구,
팬딩하는 UI는 그냥 thread 없이 지속 반복 하는 형태로 두고요, 단지 Image가 있을때 팬딩부분을 Gone 처리를 하시고 image를 보이도록..
그게 나을 꺼에요.