Форум программистов, компьютерный форум CyberForum.ru

На каждой странице ViewPager'а должен отображаться свой ListFragment данные для которого берутся из базы - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Вывод данных в ListViev из БД http://www.cyberforum.ru/android-dev/thread1456027.html
Доброго времени суток. Диплом близится а на данный момент всё плоховатенько, ой как плоховатенько. Есть база данных, в ней 4 таблицы("man", "event_type", "meeting", "event"). в таблице "event" хранятся id на данные в предыдущих трёх таблицах. Каким-то образом нужно вывести данные в виде строк, а не цифр(айдишников), которые сей час как раз и выводятся. Как господа? //man private...
Программирование Android Остановить выполнение во фрагменте Есть для примера код который расположен в фрагменте. как остановить программу // Если номер введен неверно if(!m.matches()) { //останавливаем программу если ошибка // с таким вызово появляется ошибка getActivity().finish(); http://www.cyberforum.ru/android-dev/thread1456016.html
Программирование Android Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - "RTFM" и точка. Так вот, официального мануала, где есть ответ на вышепоставленный вопрос и все описано по шагам, я на нашел. Неофициального - тоже, будь то на русском или английском. Тем не менее, говорят, что сделать то, что я хочу, вполне реально, и такие приложения иногда делают. Прошу дать либо ссылку на мануал, либо вкратце...
Сохранить картинку на канве Программирование Android
Здравствуйте! Делаю игру, и ее часть - это "комната" рисования, где должно сохраняться текущее нарисованное изображение. В ней в виде customView расположен холст, на котором пользователь что-то рисует. Но если ему из этой "комнаты" выйти и опять зайти, то нарисованного ранее конечно уже не будет. Много уже сайтов с решениями перелопатил, но ничего не помогает - или ошибки, или просто ничего не...
Программирование Android Создание суперкласса для всех Activity http://www.cyberforum.ru/android-dev/thread1455596.html
Господа,доброго времени суток! Возник следующий вопрос: у меня есть несколько активностей(activity1, activity2, activity3), каждая из них содержит по одному фрагменту(fragment1, fragment2, fragment3). Возможно ли и имеет ли смысл создать некую супер-Activity с фрагментом, наследники которой смогут реализовывать свои специфичные activity+fragment ?
Программирование Android Файл Html в собственный браузер Здравствуйте! Недавно я создал браузер, а теперь у меня вопрос: как поставить ссылку на HTML файл в самом приложение? Есть код: mWebView.loadUrl("http://google.com"); А как сделать загрузку файлов с самого приложения? подробнее

Показать сообщение отдельно
disx
20 / 20 / 0
Регистрация: 26.02.2014
Сообщений: 533
Записей в блоге: 1
28.05.2015, 10:16  [ТС]     На каждой странице ViewPager'а должен отображаться свой ListFragment данные для которого берутся из базы
Rube, onUpgrade поправил, но база не появилась...

попробовал перенести в MainActivity
Java
1
2
db = new DB(this);
        db.open();
теперь база создается (не знаю правда правильно так или нет?!),

но вопрос по теме таки остался, на 0-й странице ViewPager'a отображается текствьюха с названием списка, а ListView нет (то ли он не создается, то ли не заполняется):

актуальный файл FirstFragment.java:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
public class FirstFragment extends Fragment implements
        LoaderCallbacks<Cursor> {
 
    private Context context;
    public DB db;
    public static SimpleCursorAdapter scAdapter;
    private Cursor cursor;
    ListView lvData;
    static String arg = null;
    private static final int CM_DELETE_ID = 1;
    DBHelper dbHelper;
 
    /** Handle the results from the voice recognition activity. */
//  @Override
//    public View onCreateView(LayoutInflater inflater, ViewGroup container,
//        Bundle savedInstanceState) {
//      return inflater.inflate(R.layout.first, null);
//    
//      
//     // return view;
//    }
    
    @SuppressWarnings("deprecation")
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
//      db = new DB(getActivity());
//      db.open();
 
        // получаем курсор
        cursor = db.getAllData(arg);
        //CursorLoader cursorLoader = new CursorLoader(getActivity(), android.provider.Browser.BOOKMARKS_URI, null, null, null, null);
                CursorLoader cursorLoader = new CursorLoader(getActivity());
        cursor = cursorLoader.loadInBackground();
        //getActivity().startManagingCursor(cursor);
 
        // формируем столбцы сопоставления
        String[] from = new String[] {  DB.COLUMN_IMG, DB.COLUMN_TXT };
        int[] to = new int[] { R.id.ivImg, R.id.tvText };
 
        // создааем адаптер и настраиваем список
        scAdapter = new SimpleCursorAdapter(getActivity(), R.layout.item, cursor, from,
                to);
        lvData = (ListView) getView().findViewById(R.id.listView1);
        lvData.setAdapter(scAdapter);
        //getLoaderManager().initLoader(0, null, this);
        getActivity().getSupportLoaderManager().initLoader(0, null, this);
 
    }
    // обработка нажатия кнопки
      public void onButtonClick(View view) {
        // добавляем запись
        db.addRec("sometext " + (scAdapter.getCount() + 1), R.drawable.ic_launcher, "да");
        // получаем новый курсор с данными
        getActivity().getSupportLoaderManager().getLoader(0).forceLoad();
      }
      
      public void onCreateContextMenu(ContextMenu menu, View v,
          ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
      }
 
      public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == CM_DELETE_ID) {
          // получаем из пункта контекстного меню данные по пункту списка
          AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
              .getMenuInfo();
          // извлекаем id записи и удаляем соответствующую запись в БД
          db.delRec(acmi.id);
          // получаем новый курсор с данными
          getActivity().getSupportLoaderManager().getLoader(0).forceLoad();
          return true;
        }
        return super.onContextItemSelected(item);
      }
 
    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle bndl) {
        return new MyCursorLoader(getActivity(), db);
    }
 
    @Override
    public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
        scAdapter.swapCursor(cursor);
    }
 
    @Override
    public void onLoaderReset(Loader<Cursor> loader) {
        // TODO Auto-generated method stub
 
    }
 
     class MyCursorLoader extends CursorLoader {
 
        DB db;
 
        public MyCursorLoader(Context context, DB db) {
            super(context);
            this.db = db;
        }
 
        @Override
        public Cursor loadInBackground() {
            Cursor cursor = db.getAllData(arg);
            try {
                TimeUnit.SECONDS.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return cursor;
        }
 
    }
 
    public void onDestroy() {
        super.onDestroy();
        // закрываем подключение при выходе
        db.close();
    }
}


файл для работы со страницами ViewPager'а, PageFragment.java:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
public class PageFragment extends Fragment
{
  static final String TAG = "myLogs";
 
  static final String ARGUMENT_PAGE_NUMBER = "arg_page_number";
  static final String SAVE_PAGE_NUMBER = "save_page_number";
 
  
  public DB db;
  int pageNumber;
  int backColor;
 
  static PageFragment newInstance(int page)
  {
    PageFragment pageFragment = new PageFragment();
    Bundle arguments = new Bundle();
    arguments.putInt(ARGUMENT_PAGE_NUMBER, page);
    pageFragment.setArguments(arguments);
    return pageFragment;
  }
 
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    pageNumber = getArguments().getInt(ARGUMENT_PAGE_NUMBER);
    Log.d(TAG, "onCreate: " + pageNumber);
 
    Random rnd = new Random();
    backColor = Color.argb(40, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
 
    int savedPageNumber = -1;
    if (savedInstanceState != null)
    {
        
        
      savedPageNumber = savedInstanceState.getInt(SAVE_PAGE_NUMBER);
    }
    Log.d(TAG, "savedPageNumber = " + savedPageNumber);
 
  }
 
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  {
      View view = null;
      
      switch (pageNumber) {
      case 0:
          return inflater.inflate(R.layout.first, null);
//        View myFragmentView = inflater.inflate(R.layout.first,
//                  container, false);
//        myFragmentView.setBackgroundColor(backColor);
//        ListView lvData = (ListView) myFragmentView.findViewById(R.id.listView1);
//        lvData.setAdapter(FirstFragment.scAdapter);
//        return myFragmentView;
          
//        view = inflater.inflate(R.layout.first, null);
//        ListView lv = (ListView) view.findViewById(R.id.listView1);
//        lv.setAdapter(FirstFragment.scAdapter);
//        lv.setBackgroundColor(backColor);
//        TextView tvPage1 = (TextView) view.findViewById(R.id.tvView1);
//        tvPage1.setText("Page " + pageNumber);
//        tvPage1.setBackgroundColor(backColor);
        //  break;
    case 1:
          view = inflater.inflate(R.layout.second, null);
          TextView tvPage2 = (TextView) view.findViewById(R.id.tvView2);
          tvPage2.setText("Page " + pageNumber);
          tvPage2.setBackgroundColor(backColor);
          break;
      case 2:
          view = inflater.inflate(R.layout.therd, null);
          TextView tvPage3 = (TextView) view.findViewById(R.id.tvView3);
          tvPage3.setText("Page " + pageNumber);
          tvPage3.setBackgroundColor(backColor);
          break;
  }
    
    return view;
  }
 
  @Override
  public void onSaveInstanceState(Bundle outState)
  {
    super.onSaveInstanceState(outState);
    outState.putInt(SAVE_PAGE_NUMBER, pageNumber);
  }
 
  @Override
  public void onDestroy()
  {
    super.onDestroy();
    Log.d(TAG, "onDestroy: " + pageNumber);
  }
}


т.е. почему список не отображается/не создается/не заполняется?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru