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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
qdhtnsoyndtr
5 / 5 / 1
Регистрация: 29.11.2013
Сообщений: 466
#1

Органайзер обновляется только после перезапуска приложения - Программирование Android

03.05.2015, 23:09. Просмотров 217. Ответов 1
Метки нет (Все метки)

Вот пытаюсь сделать свой органайзер, но что то не идет, все повисло на обновлении списка.
Обновляется только после перезапуска приложения.
Подскажите как сделать что бы лист постоянно обновлялся и выводил верные данные.
Сильно за код не ругайте, только учусь)
Заранее спасибо)

Выложу часто кода которую уже сумел сделать.

файл 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
protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //this.deleteDatabase("myDB");
 
        //btnNew = (Button) findViewById(R.id.btnNew);
        //btnNew.setOnClickListener(this);
 
        lvTab1 = (ListView) findViewById(R.id.lvTab1);
 
        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MainActivity.this.startActivity(new Intent(MainActivity.this, Activity_B.class));
            }
        });
        findViewById(R.id.btnNew).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MainActivity.this.startActivity(new Intent(MainActivity.this, Activity_Create.class));
            }
        });
        findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MainActivity.this.startActivity(new Intent(MainActivity.this, Activity_correkt.class));
            }
        });
//создаем объект для создания и управления версиями БД
        dbHelper = new DBHelper(this);
 
        Update();
    }
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
public void Update()
    {
        // подключаемся к БД
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        List<Map<String, ?>> items = new ArrayList<Map<String, ?>>();
        db = dbHelper.getWritableDatabase();
        Cursor c = db.query("mytable", null, null, null, null, null, null);
        if(c.moveToFirst())
        {
            int idColIndex = c.getColumnIndex("id");
            int zagColIndex = c.getColumnIndex("zag");
            int dataColIndex = c.getColumnIndex("data");
            int textColIndex = c.getColumnIndex("text");
            do{
                Map<String, Object> map = new HashMap<String, Object>();
                //String tags = getTags(c.getString(idColIndex));
                map.put("name", "note");
                map.put("id", c.getString(idColIndex));
                map.put("zag", c.getString(zagColIndex));
                map.put("data", c.getString(dataColIndex));
                map.put("text", c.getString(textColIndex));
                //map.put("tags", tags);
                items.add(map);
            }while(c.moveToNext());
        }
        c.close();
        dbHelper.close();
        SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.item_note_layout, //лай аут создать в лист вью
                new String[] {"name", "id", "title", "text", "date"},
                new int[] {R.id.tvNoteNameInvis, R.id.tvContentInvis4, R.id.tvTitleInvis,
                        R.id.tvContentInvis, R.id.tvContentInvis2});
        lvTab1.setAdapter(adapter);
 
        //adapter.notifyDataSetChanged();
 
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class DBHelper extends SQLiteOpenHelper {
 
        public DBHelper(Context context) {
            // конструктор суперкласса
            super(context, "myDB2", null, 1);
        }
 
 
        @Override
        public void onCreate(SQLiteDatabase db) {
            //Log.d(LOG_TAG, "--- onCreate database ---");
            // создаем таблицу с полями
            /*db.execSQL("create table mytable ("
                    + "id integer primary key autoincrement,"
                    + "name text,"
                    + "email text" + ");");*/
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
        }
    }
файл Activity_Create

Java
1
2
3
4
5
6
final String LOG_TAG = "myLogs";
 
    Button btnSave, btnDel;
    EditText etData, etZag, etText;
 
    DBHelper dbHelper;
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity__create);
 
 
        btnSave = (Button) findViewById(R.id.btnSave);
        btnSave.setOnClickListener(this);
 
        btnDel = (Button) findViewById(R.id.btnDel);
        btnDel.setOnClickListener(this);
 
        etData = (EditText) findViewById(R.id.etData);
        etZag = (EditText) findViewById(R.id.etZag);
        etText = (EditText) findViewById(R.id.etText);
 
        //создаем объект для создания и управления версиями БД
        dbHelper = new DBHelper(this);
    }
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
public void onClick(View v) {
 
        // создаем объект для данных
        ContentValues cv = new ContentValues();
 
        // получаем данные из полей ввода
        String data = etData.getText().toString();
        String zag = etZag.getText().toString();
        String text = etText.getText().toString();
 
        // подключаемся к БД
        SQLiteDatabase db = dbHelper.getWritableDatabase();
 
 
 
        switch (v.getId()) {
            case R.id.btnSave:
                Log.d(LOG_TAG, "--- Insert in mytable: ---");
                // подготовим данные для вставки в виде пар: наименование столбца - значение
 
                cv.put("data", data);
                cv.put("zag", zag);
                cv.put("text", text);
                // вставляем запись и получаем ее ID
                long rowID = db.insert("mytable", null, cv);
                Log.d(LOG_TAG, "row inserted, ID = " + rowID);
                Intent intent = new Intent();
                //intent.putExtra("name", etName.getText().toString());
                setResult(RESULT_OK, intent);
                finish();
                //Update();
                break;
                *********
 
       case R.id.btnDel:
                Log.d(LOG_TAG, "--- Clear mytable: ---");
                // удаляем все записи
                int clearCount = db.delete("mytable", null, null);
                Log.d(LOG_TAG, "deleted rows count = " + clearCount);
                break;
        }
 
        // закрываем подключение к БД
        dbHelper.close();
    }
 
class DBHelper extends SQLiteOpenHelper {
 
        public DBHelper(Context context) {
            // конструктор суперкласса
            super(context, "myDB2", null, 1);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db) {
            Log.d(LOG_TAG, "--- onCreate database ---");
            // создаем таблицу с полями
            db.execSQL("create table mytable ("
                    + "id integer primary key autoincrement,"
                    + "data text,"
                    + "zag text,"
                    + "text text"
                    + ");");
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2015, 23:09     Органайзер обновляется только после перезапуска приложения
Посмотрите здесь:
SharedPreferences стираются после перезапуска приложения Android
Не обновляется список после добавления item'a на страницу ViewPager? Android
Android Запуск приложения только в landspace mode
Android Органайзер
Android Как вызвать метод только при последующих запусках приложения?
Кнопки удаляются после закрытия приложения Android
AlarmManager не работает после закрытия приложения Android
Автозапуск приложения после его закрытия Android
Android Оставаться залогиненным после выхода из приложения
Android Не перезапускать сервис после закрытия и открытия приложения
Почему после выхода из приложения выскакивает ошибка? Android
Удаление APK-файла после установки приложения? Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2403 / 1848 / 579
Регистрация: 12.05.2014
Сообщений: 6,577
Завершенные тесты: 1
04.05.2015, 11:06     Органайзер обновляется только после перезапуска приложения #2
много строк
Yandex
Объявления
04.05.2015, 11:06     Органайзер обновляется только после перезапуска приложения
Ответ Создать тему
Опции темы

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