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

GetSupportLoaderManager и импорт support библиотек - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Где ошибка в коде http://www.cyberforum.ru/android-dev/thread1160123.html
package com.example.handltest; import java.util.concurrent.TimeUnit; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBarActivity; import...
Программирование Android Синхронизация с web-server Дайте почитать на русском пожалуйста, желательно пару советов в реализации http://www.cyberforum.ru/android-dev/thread1159905.html
Программирование Android Update в ListView
BD: public void updateRec(String txt, long id) { ContentValues cv = new ContentValues(); cv.put(COLUMN_TXT, txt); mDB.update(DB_TABLE, cv, COLUMN_ID + " =? ", new String {...
Программирование Android Зацените мой HelloWorld пожалуйста
https://play.google.com/store/search?q=%D0%B1%D0%BB%D0%BE%D0%BA%D0%BD%D0%BE%D1%82&c=apps :)
Программирование Android AnimationDrawable http://www.cyberforum.ru/android-dev/thread1159747.html
В приложении, когда пытаюсь программно заменить кадровую анимацию, то приложение вылетает, подскажите в чем ошибка: public class MainActivity extends Activity { AnimationDrawable mAnim; /**...
Программирование Android DATE_MODIFIED в человеческий вид пробую так Log.d("date "+cursor.getString(fileColumn), DateFormat.format("MM/dd/yyyy", new... подробнее

Показать сообщение отдельно
alexvinn
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 59

GetSupportLoaderManager и импорт support библиотек - Программирование Android

28.04.2014, 15:51. Просмотров 2929. Ответов 12
Метки (Все метки)

Помогите разобраться, плз.
Что-то с импортом библиотек, но что именно понять не могу.
Все библиотеки, которые спрашивает на выбор - выбираю с "support"
Хелп, плз.

Строка 92 - getSupportLoaderManager() - подчеркивает красным,
пишет - Cannot make a static reference to the non-static method getSupportLoaderManager() from the type FragmentActivity

Делаю урок отсюда - http://startandroid.ru/ru/uroki/vse-...sorloader.html

Проект создаю:
Min SDK - 11
Target SDK - 11
Compile With - 19

MainActivity.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
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
package com.example.p0521_simplecursoradapter;
 
import java.util.concurrent.TimeUnit;
 
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.SimpleCursorAdapter;
import android.support.v7.app.ActionBarActivity;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
 
 
 
public class MainActivity extends ActionBarActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
 
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {
 
        public PlaceholderFragment() {
        }
        
        private static final int CM_DELETE_ID = 1;
        ListView lvData;
        DB db;
        SimpleCursorAdapter scAdapter;
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container,
                    false);
            
            // открываем подключение к БД
            db = new DB(getActivity());
            db.open();
            
            // формируем столбцы сопоставления
            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, null, from, to, 0);
            lvData = (ListView) rootView.findViewById(R.id.lvData);
            lvData.setAdapter(scAdapter);
 
            // добавляем контекстное меню к списку
            registerForContextMenu(lvData);
            
            // создаем лоадер для чтения данных
            getSupportLoaderManager().initLoader(0, null, getActivity());
            
            return rootView;
        }
        
        // обработка нажатия кнопки
        public void onButtonClick(View view) {
            // добавляем запись
            db.addRec("sometext " + (scAdapter.getCount() + 1), R.drawable.ic_launcher);
            // получаем новый курсор с данными
             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) {
                // получаем из пункта контекстного меню данные по пункту списка
                android.widget.AdapterView.AdapterContextMenuInfo acmi = (android.widget.AdapterView.AdapterContextMenuInfo) item
                        .getMenuInfo();
                // извлекаем id записи и удаляем соответствующую запись в БД
                db.delRec(acmi.id);
                // получаем новый курсор с данными
                getSupportLoaderManager().getLoader(0).forceLoad();
                return true;
            }
            return super.onContextItemSelected(item);
        }
 
        public void onDestroy() {
            super.onDestroy();
            // закрываем подключение при выходе
            db.close();
        }
 
        public Loader<Cursor> onCreateLoader(int id, Bundle bndl) {
            return new MyCursorLoader(getActivity(), db);
        }
 
        public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
            scAdapter.swapCursor(cursor);
        }
 
        public void onLoaderReset(Loader<Cursor> loader) {
        }
          
        static 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();
                try {
                    TimeUnit.SECONDS.sleep(3);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                return cursor;
            }
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru