비디오 축소판 및 비디오 파일 이름 텍스트를 디렉토리에로드하려고합니다. 디렉토리에 vidoes가 많이있을 수 있으므로 AsyncTask를 사용해야합니다. AsyncTask에서 getView()에 코드를 삽입하면 오류가 발생합니다. 내가 뭘 잘못하고 있는지 말해줘.이미지 및 텍스트로 AsyncTask
public class MainActivity extends ListActivity {
String dirNameSlash = "/videos/";
String path = Environment.getExternalStorageDirectory() + dirNameSlash;
String root_sd = Environment.getExternalStorageDirectory().toString();
String theFile = root_sd + "/videos/";
File dir = new File(path);
{
assert (dir.exists());
assert (dir.isDirectory());
}
String[] videoFileList = dir.list();
public class MyThumbnaildapter extends ArrayAdapter<String> {
public MyThumbnaildapter(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View row = convertView;
if (row == null) {
LayoutInflater inflater = getLayoutInflater();
row = inflater.inflate(R.layout.activity_main, parent, false);
}
TextView textfilePath = (TextView) row.findViewById(R.id.FilePath);
textfilePath.setText(videoFileList[position]);
ImageView imageThumbnail = (ImageView) row
.findViewById(R.id.Thumbnail);
Bitmap bmThumbnail;
bmThumbnail = ThumbnailUtils.createVideoThumbnail(path
+ videoFileList[position], Thumbnails.MICRO_KIND);
imageThumbnail.setImageBitmap(bmThumbnail);
return row;
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new MyThumbnaildapter(MainActivity.this,
R.layout.activity_main, videoFileList));
ListView lv = getListView();
}
오류가 많고 어디에서 aysnctask입니까? – Raghunandan
MyThumbnailAdapter 클래스에 있기 때문에 My variables가 작동하지 않습니다. 그런 다음 해당 클래스의 일부를 AsyncTask로 이동하지만 작동하지 않습니다. – user2250122
어떤 종류의 오류가 발생합니까? 어떤 logcat을 보여줄 수 있습니까? 한편, getView() 메소드는 약간의 수정을 겪을 수 있습니다. ViewHolder 패턴을 구현해야하며, 두 번째로 별도의 스레드에서 비트 맵로드를 처리해야합니다. 느린리스트 뷰를 원하지 않습니다. –