質問編集履歴

3

編集しました。

2017/04/19 16:03

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  todoリストで一つのListが繰り返し表示されます
4
4
 
5
- 新規登録でlistを追加した場合も、編集でリストをupdateした場合も、
5
+ リストの追加でlistをinsertした場合も、リストの編集でリストをupdateした場合も、
6
-
6
+
7
- Listが一つのList(同じ情報のもの)のみの繰り返しとなります。
7
+ ListViewが一つのList(同じ情報のもの)のみの繰り返しとなります。
8
-
9
-
10
-
8
+
9
+
10
+
11
- mList.clearコードの中にあるのですが、表示されるListは、全部同じもので、コード編集ボタンをおし、updateしようとすると、updateされます。
11
+ mList.clearというコードが書いてあるのですが、表示されるListは、全部同じもので繰り返し表示されています。そしてリスト編集ボタンをおし、updateしようとすると、updateされます。
12
-
12
+
13
- 一方、mList.clearしないと、表示されるListは、種類のListが表示されますが、コード編集ボタンを押しupdateしようとしても、updateは、されません。
13
+ 一方、mList.clearをコメントアウトすると、表示されるListは、複数の種類のListが表示されますが、リスト編集ボタンを押して、updateしようとしても、updateは、されません。
14
14
 
15
15
 
16
16
 

2

updateのコードを追加しました。

2017/04/19 16:03

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -371,3 +371,197 @@
371
371
 
372
372
 
373
373
  ```
374
+
375
+ //EditActivity updateのコードを追加しました。
376
+
377
+ ```java
378
+
379
+ // メニュー選択時の処理
380
+
381
+ @Override
382
+
383
+ public boolean onOptionsItemSelected(MenuItem item) {
384
+
385
+
386
+
387
+ //open helper
388
+
389
+ //open db memoDBHelperに変更
390
+
391
+ MemoDBHelper memoDBHelper = new MemoDBHelper(this);
392
+
393
+ SQLiteDatabase db = memoDBHelper.getWritableDatabase();
394
+
395
+
396
+
397
+
398
+
399
+ Cursor c = null;
400
+
401
+ String title = null;
402
+
403
+ String content = null;
404
+
405
+ String data = null;
406
+
407
+ EditText eTxtTitle = null;
408
+
409
+ EditText eTxtContent = null;
410
+
411
+ EditText eTxtData = null;
412
+
413
+
414
+
415
+ //ここのidにcancelとupdateを入れる
416
+
417
+ switch (item.getItemId()) {
418
+
419
+ case R.id.action_can:
420
+
421
+ //キャンセルが押された場合
422
+
423
+ mNotSave = true;
424
+
425
+ this.finish();
426
+
427
+ break;
428
+
429
+
430
+
431
+ case R.id.action_upd:
432
+
433
+ // タイトル、内容、実行日の追加
434
+
435
+ eTxtTitle = (EditText) findViewById(R.id.eTxtTitle);
436
+
437
+ eTxtContent = (EditText) findViewById(R.id.eTxtContent);
438
+
439
+ eTxtData = (EditText) findViewById(R.id.eTxtData);
440
+
441
+
442
+
443
+ title = eTxtTitle.getText().toString();
444
+
445
+ content = eTxtContent.getText().toString();
446
+
447
+ data = eTxtData.getText().toString();
448
+
449
+
450
+
451
+ //if文で、たいとるがからの時は、保存しない
452
+
453
+ // タイトル、内容が空白の場合、保存しない
454
+
455
+
456
+
457
+ Intent intent = getIntent();
458
+
459
+ //あえてinsertkに変更
460
+
461
+ String insertk = intent.getStringExtra("INSERT");
462
+
463
+
464
+
465
+ //////////////////////////////////////////iddを取得してる
466
+
467
+ String idd=intent.getStringExtra("ID");
468
+
469
+
470
+
471
+
472
+
473
+ if (title.isEmpty() || content.isEmpty()) {
474
+
475
+ Toast.makeText(this, R.string.msg_destruction, Toast.LENGTH_SHORT).show();
476
+
477
+
478
+
479
+ }
480
+
481
+
482
+
483
+ if (insertk.length() == 0) {
484
+
485
+
486
+
487
+ //つまりinsertじゃない つまりupdate
488
+
489
+ try {
490
+
491
+ //書き換えをしていく
492
+
493
+
494
+
495
+ //MainActivityと同じ
496
+
497
+ String table2=UserContract.Users.TABLE_NAME;
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+ String sql="UPDATE "+table2+
506
+
507
+ " SET TITLE = "+"'"+title+"',"+
508
+
509
+ " CONTENT = "+"'"+content+"',"+
510
+
511
+ " DATA = "+"'"+data+"' "+
512
+
513
+ "WHERE ID = "+"'"+idd+"'" ;
514
+
515
+
516
+
517
+ Cursor cc = db.rawQuery(sql,null);
518
+
519
+
520
+
521
+ if(cc.moveToFirst()) {
522
+
523
+ title = cc.getString(cc.getColumnIndex(UserContract.Users.COL_TITLE));
524
+
525
+ content = cc.getString(cc.getColumnIndex(UserContract.Users.COL_CONTENT));
526
+
527
+ data = cc.getString(cc.getColumnIndex(UserContract.Users.COL_DATA));
528
+
529
+ Log.v("DB_TESTやーーーーーーーーーー"," id: "+idd+ " title: "+title+ " content: "+content+ " data: "+data);
530
+
531
+
532
+
533
+
534
+
535
+ }
536
+
537
+
538
+
539
+ Log.v("DB_TESTやーーーーーーーーんupdate"," id: "+idd+ " title: "+title+ " content: "+content+ " data: "+data);
540
+
541
+ //取得できてる、ちゃんと
542
+
543
+
544
+
545
+
546
+
547
+ //保存に成功しました。
548
+
549
+ Toast.makeText(this, R.string.msg_upd, Toast.LENGTH_SHORT).show();
550
+
551
+
552
+
553
+ } catch (Exception e) {
554
+
555
+ //さっきのここ
556
+
557
+ System.out.println("Exception ErrorMessage = "
558
+
559
+ + e );
560
+
561
+ Toast.makeText(this, "強制returnしましたよ。", Toast.LENGTH_LONG).show();
562
+
563
+ }
564
+
565
+
566
+
567
+ ```

1

誤字

2017/04/19 15:57

投稿

edoooooo
edoooooo

スコア476

test CHANGED
@@ -1 +1 @@
1
- todoリストで、同じListが繰り返される。mList.clearをコメントアウトすると、改善するが、SQLのupdateしても表示がされなくなる。
1
+ todoリストアプリで、同じListが繰り返される。mList.clearをコメントアウトすると、改善するが、SQLのupdateしても表示がされなくなる。
test CHANGED
@@ -1,4 +1,4 @@
1
- AndroidでTodoリストを作ったのですが、
1
+ AndroidでTodoリストアプリを作ったのですが、
2
2
 
3
3
  todoリストで一つのListが繰り返し表示されます
4
4