kolodach
@kolodach

Пустой list view andriod — почему?

В программе используется активити типа "fixed tabs + swipe". В одном из фрагментов размещен list view, который должен подключатся к базе данных sqlite. Поскольку опыта у меня маловато, то я грешным делом пробовал описать подключение к БД прямо в методе "OnCreateView()" в классе фрагмента.

Увы безрезультатно. Потом пробовал вынести в отдельный метод - то же самое, я получаю пустой list view. БД не пустая. Код класса фрагмента:

public static class DummySectionFragment extends Fragment implements LoaderCallbacks<Cursor>{

		public static final String ARG_SECTION_NUMBER = "section_number";
		public DummySectionFragment() {
		}
		View v;
		@Override
		public View onCreateView(LayoutInflater inflater, ViewGroup container,
				Bundle savedInstanceState) {
			View rootView = inflater.inflate(R.layout.activity_tracker,
					container, false);
			v = inflater.inflate(R.layout.activity_tracker,
					container, false);
			createList();

			return rootView;
		}

		public void createList(){
			db = new DB(act);
			db.open();
			String[] from = new String[] {DB.COLUMN_NAME, DB.COLUMN_TIME};
			int[] to = new int[] { R.id.tvTextName, R.id.tvText_time};
			
			Cursor cursor = db.getAllData();
			
			scAdapter = new SimpleCursorAdapter(getActivity(), R.layout.item, cursor, from, to, 0);
			lvData = (ListView) v.findViewById(R.id.lvData);
			lvData.setAdapter(scAdapter);
		}

		@Override
		public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onLoaderReset(Loader<Cursor> arg0) {
			// TODO Auto-generated method stub
			
		}
	}
  • Вопрос задан
  • 2564 просмотра
Пригласить эксперта
Ответы на вопрос 1
Collosteam
@Collosteam
Android кодирую
Попробуйте после строки
Cursor cursor = db.getAllData();
вставить
if(cursor != null)
Log.d("DummySectionFragment ", "count : "+cursor.getCount());


И посмотреть что выведется в лог, потому, что наполненная база еще не значит, что все должно работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы