커스텀뷰 내부에
택스트뷰4개 프로그레스뷰 1개가 있습니다.
어떤 처리과정을 프로그레스뷰를 통해 사용자에게 보여야하는데,
커스텀뷰 내부 프로그레스뷰에 접근하는 방법을 모르겠습니다.
public class FileAdapter extends BaseAdapter {
Context context;
int layoutId;
ArrayList<FileItem> myFileList;
LayoutInflater inflater;
FileAdapter(Context _context, int _layoutId, ArrayList<FileItem> _myFileArr){
context = _context;
layoutId = _layoutId;
myFileList = _myFileArr;
inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
}
public void setProgtext(int pos, String text){
myFileList.get(pos).progtext = text;
}
public void setProgvalue(int pos, int val){
myFileList.get(pos).progressvalue = val;
}
@Override
public int getCount() {
return myFileList.size();
}
@Override
public Object getItem(int pos) {
return myFileList.get(pos);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = inflater.inflate(layoutId,parent,false);
}
//file name
TextView nameview = (TextView) convertView.findViewById(R.id.id_title);
nameview.setText(myFileList.get(position).name);
//file size
TextView userIdView = (TextView) convertView.findViewById(R.id.id_size);
Double dbsize;
int size =myFileList.get(position).size;
String u = null;
if(size/1024/1024/1024.0 > 1){
dbsize = size/1024/1024/1024.0;
u = " GB";
}
else if(size/1024/1024.0 > 1){
dbsize = size/1024.0/1024.0;
u = " MB";
}
else{
dbsize = size/1024.0;
u = " KB";
}
String strsize = String.format("%.2f", dbsize);
userIdView.setText(strsize + u);
//file date
TextView timeView = (TextView) convertView.findViewById(R.id.id_date);
timeView.setText(myFileList.get(position).date);
// prog text
TextView progview = (TextView) convertView.findViewById(R.id.id_progtext);
progview.setText(myFileList.get(position).progtext);
////prog
ProgressBar progbar = (ProgressBar) convertView.findViewById(R.id.id_progbar);
progbar.setProgress(myFileList.get(position).progressvalue);
return convertView;
}
}