2015-02-20 6 views
0

Извините за такой открытый вопрос, но я новичок в Android, и я искренне передумал для ответа и ничего не нашел. Я хочу сохранить некоторую информацию, которая ссылается на изображение в таблице SQLite, а затем использовать SimpleCursorAdapter для перемещения этих данных в ImageView. Я думал, что если я сохраню целое число (идентификатор ресурса), а затем настрою адаптер на правильное представление, ресурс представления будет обновлен до этого идентификатора, но это не сработало. Есть ли другой способ сделать то, что я хочу делать?Настройка ресурса ImageView с помощью CursorLoader

Заранее спасибо :)

Edit 1: Это то, что я делаю прямо сейчас. Я сохраняю идентификатор drawable в таблице, а затем устанавливаю SimpleCursorAdapter в представление, ресурс которого я хочу сделать возможным. Вот код, который я использую для хранения информации:

ContentValues values = new ContentValues(); 
values.put(SubwayContract.ROUTE_IMG, R.drawable.red_circle); 
values.put(SubwayContract.ROUTE, "R"); 
values.put(SubwayContract.FINAL_STATION, "Howard-Bound"); 
values.put(SubwayContract.ARRIVAL_TIME, "5:24:00"); 
final Uri uri = mContentResolver.insert(SubwayContract.CONTENT_URI, values); 

Вторая строка хранит идентификатор изображения. Вот код, у меня есть, что устанавливает адаптер:

private final int URL_LOADER = 0; 
private String[] mProjections = {SubwayContract._ID, SubwayContract.ROUTE_IMG, SubwayContract.ROUTE, SubwayContract.FINAL_STATION, SubwayContract.ARRIVAL_TIME}; 
private int[] mTo = {R.id._id, R.id.arrival_icon, R.id.arrival_letter, R.id.arrival_dest, R.id.arrival_time}; 
private SimpleCursorAdapter mAdaptor = null; 
... 
getLoaderManager().initLoader(URL_LOADER, null, ArrivalsFragment.this); 

    ListView mListView = (ListView) rootView.findViewById(R.id.arrivals_list_view); 
    mAdaptor = new SimpleCursorAdapter(
      rootView.getContext(), 
      R.layout.arrivals_list_item, 
      null, 
      mProjections, 
      mTo, 
      0 
    ); 
    mListView.setAdapter(mAdaptor); 

The View в идентификатор R.id.arrival_icon, который является вид. Я знаю, что в курсоре или загрузчике нет ошибки, так как все работает нормально, если я выберу View и ID. Как я могу это исправить?

ответ

0

Вы можете сохранить идентификатор ресурса изображения (находящегося в папке drawable) в базу данных. Вы можете попробовать следующее:

int resID = mContext.getResources().getIdentifier(image_name, "drawable", mContext.getPackageName());