CursorLoader:
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) { //chiamato alla creazione, collega il cursore alla query che ci interessa
final Activity activity = (Tema)getActivity();
Uri uri = Uri.parse("content://presidente.widgetclock.temi");
String[] projection = { "_id", "titolo", "autore", "abbrevia", "time", "provider", "estensione"};
String selection = "tipo = ?";
String[] selectionArgs = { "numero" };
String sortOrder = "time" + " DESC";
CursorLoader cl = new CursorLoader(activity, uri, projection, selection, selectionArgs, sortOrder);
return cl;
}
public void onLoadFinished(Loader<Cursor> arg0, Cursor c) { //chiamato ogni volta che c'è un cambiamento, sostituiamo il vecchio cursore col nuovo
adapter.changeCursor(c);
}
public void onLoaderReset(Loader<Cursor> arg0) { //chiamato sul reset, nullifichiamo il cursore
adapter.changeCursor(null);
}
的CursorAdapter:
@Override
public void bindView(final View view, Context context, Cursor cursor) {
titolo = cursor.getString(1);
autore = cursor.getString(2);
abbrevia = cursor.getString(3);
uri_provider = Uri.parse(cursor.getString(5));
est = cursor.getString(6);
imageView1 = (ImageView) view.findViewById(R.id.img1_a);
((Activity) context).runOnUiThread(new Runnable() {
public void run() {
uri_img1 = Uri.parse(uri_provider+"/n/"+abbrevia+"/l/"+abbrevia+"_5."+est);
imageView1.setImageURI(uri_img1);
}
});
TextView textView1 = (TextView) view.findViewById(R.id.titolo);
textView1.setText(titolo);
TextView textView2 = (TextView) view.findViewById(R.id.autore);
textView2.setText(autore);
}
@Override
public View newView(Context view, Cursor cursor, ViewGroup arg2) {
View rowView;
rowView = inflater.inflate(R.layout.layoutadaptermeteo, arg2, false);
return rowView;
}
onCreateView:
getLoaderManager().initLoader(0, null, this);
adapter = new CursorNumeroAdapter(activity, null);
lstListaProva.setAdapter(adapter);
我有插入da加上重要的部分...... 如果我不“setimageuri”一切都好......
解决方案是什么? 是否可能加载只有图像显示在dyspaly和reaload其他图像只有滚动停止?或者其他解决方案是什么?
感谢...