Органайзер обновляется только после перезапуска приложения - Программирование Android - Ответ 7565335
03.05.2015, 23:09. Показов 741. Ответов 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) {
}
} |
|
Вернуться к обсуждению: Органайзер обновляется только после перезапуска приложения Программирование Android
0
|