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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Вывод данных в ListViev из БД http://www.cyberforum.ru/android-dev/thread1456027.html
Доброго времени суток. Диплом близится а на данный момент всё плоховатенько, ой как плоховатенько. Есть база данных, в ней 4 таблицы("man", "event_type", "meeting", "event"). в таблице "event"...
Программирование Android Остановить выполнение во фрагменте Есть для примера код который расположен в фрагменте. как остановить программу // Если номер введен неверно if(!m.matches()) { //останавливаем программу если ошибка // с таким... 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,...
Программирование Android Файл Html в собственный браузер Здравствуйте! Недавно я создал браузер, а теперь у меня вопрос: как поставить ссылку на HTML файл в самом приложение? Есть код: mWebView.loadUrl("http://google.com"); А как сделать загрузку... подробнее

Показать сообщение отдельно
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
01.06.2015, 16:08  [ТС]
MainActivity
Кликните здесь для просмотра всего текста
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
public class MainActivity extends ActionBarActivity implements
        NavigationDrawerFragment.NavigationDrawerCallbacks {
 
    private NavigationDrawerFragment mNavigationDrawerFragment;
 
    private CharSequence mTitle;
 
    // _____________________________________________________________________________________________________
 
    public static final int FRAGMENTS = 3;
 
    static final String TAG = "myLogs";
    static final int PAGE_COUNT = 10;
 
    private static final Context Context = null;
 
    public DB db;
    ViewPager pager;
    PagerAdapter pagerAdapter;
    private Cursor cursor;
    static String arg = null;
    static String count = null;
 
    // _____________________________________________________________________________________________________
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        db = new DB(this);
        db.open();
 
        // cursor = db.getAllData(arg);
        // count = String.valueOf(cursor.getCount());
        // Toast tost = Toast.makeText(getApplicationContext(),
        // count, Toast.LENGTH_SHORT);
        // tost.setGravity(50, 200, 30);
        // tost.show();
        mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager()
                .findFragmentById(R.id.navigation_drawer);
        mTitle = getTitle();
 
        // Set up the drawer.
        mNavigationDrawerFragment.setUp(R.id.navigation_drawer,
                (DrawerLayout) findViewById(R.id.drawer_layout));
 
        pager = (ViewPager) findViewById(R.id.pager);
        pagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
        pager.setAdapter(pagerAdapter);
 
    }
 
    // ---------------end onCreate------------
    @Override
    public void onNavigationDrawerItemSelected(int position) {
        // update the main content by replacing fragments
        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager
                .beginTransaction()
                .replace(R.id.container,
                        PlaceholderFragment.newInstance(position + 1)).commit();
    }
 
    // ----------Action of String------
    public void onSectionAttached(int number) {
        switch (number) {
        case 1:
            mTitle = getString(R.string.title_section1);
            break;
        case 2:
            mTitle = getString(R.string.title_section2);
            break;
        case 3:
            mTitle = getString(R.string.title_section3);
            break;
        }
    }
 
    // ---------------ActionBar------------------------
    public void restoreActionBar() {
        ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
        actionBar.setDisplayShowTitleEnabled(true);
        actionBar.setTitle(mTitle);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        if (!mNavigationDrawerFragment.isDrawerOpen()) {
 
            getMenuInflater().inflate(R.menu.main, menu);
            restoreActionBar();
            return true;
        }
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
 
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    // ---------END------ActionBar------------------------
    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {
        /**
         * The fragment argument representing the section number for this
         * fragment.
         */
        private static final String ARG_SECTION_NUMBER = "section_number";
 
        /**
         * Returns a new instance of this fragment for the given section number.
         */
        public static PlaceholderFragment newInstance(int sectionNumber) {
            PlaceholderFragment fragment = new PlaceholderFragment();
            Bundle args = new Bundle();
            args.putInt(ARG_SECTION_NUMBER, sectionNumber);
            fragment.setArguments(args);
            return fragment;
        }
 
        public PlaceholderFragment() {
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container,
                    false);
            return rootView;
        }
 
        @Override
        public void onAttach(Activity activity) {
            super.onAttach(activity);
            ((MainActivity) activity).onSectionAttached(getArguments().getInt(
                    ARG_SECTION_NUMBER));
        }
    }
 
    // --------------end NavDr and ActionBar------------
    private class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
 
        public MyFragmentPagerAdapter(FragmentManager fm) {
            super(fm);
        }
 
        @Override
        public Fragment getItem(int position) {
            // return _fragments.get(position);
 
            return PageFragment.newInstance(position);
        }
 
        @Override
        public int getCount() {
            return FRAGMENTS;
            // return PAGE_COUNT;
        }
 
        // v2
        @Override
        public CharSequence getPageTitle(int position) {
            return "Title " + position;
        }
 
    }
    // --------------END----MyFragmentPagerAdapter----------
}

FirstFragment
Кликните здесь для просмотра всего текста
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
122
123
124
125
126
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;
    Button btn;
 
    /** 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;
    }
 
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        // db = new DB(getActivity());
        // db.open();
 
        // получаем курсор
        cursor = db.getAllData(arg);
        String count = String.valueOf(cursor.getCount());
        Toast tost = Toast.makeText(getActivity(), count, Toast.LENGTH_SHORT);
        tost.setGravity(50, 200, 30);
        tost.show();
 
        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, 0);
        // 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();
    }
}


PageFragment
Кликните здесь для просмотра всего текста
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
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:
            view = inflater.inflate(R.layout.first, null);
            TextView tvPage1 = (TextView) view.findViewById(R.id.tvView1);
            tvPage1.setText("Page " + pageNumber);
             tvPage1.setBackgroundColor(backColor);
            ListView lv1 = (ListView) view.findViewById(R.id.listView1);
             lv1.setBackgroundColor(Color.GREEN);
            lv1.setAdapter(FirstFragment.scAdapter);
            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);
            ListView lv3 = (ListView) view.findViewById(R.id.listView3);
            lv3.setBackgroundColor(Color.RED);
            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);
    }
}


насчет возврата записей, если этот код
Java
1
2
3
4
5
cursor = db.getAllData(arg);
        String count = String.valueOf(cursor.getCount());
        Toast tost = Toast.makeText(getActivity(), count, Toast.LENGTH_SHORT);
        tost.setGravity(50, 200, 30);
        tost.show();
вставить в метод onActivityCreated класса FirstFragment то ничего не происходит,

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