回答編集履歴

3

修正

2022/09/10 18:37

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -5,5 +5,5 @@
5
5
  ついでに、 refreshItemList の直後に notifyDataSetChanged を実行していますが、このメソッドは refreshItemList 内で呼ぶべきものでしょう。
6
6
 
7
7
  さらに言えば、 onRestart で再読み込みというのは少々乱暴な気がします。
8
- 追加の画面が startActivity で実行しているAddEditActivity であれば、startActivityForResult に変えることで AddEditActivity の終了を感知出来ますので、感知したらリストを更新すれば最小限の動作になるのではないでしょうか。
8
+ 追加の画面が startActivity で実行しているAddEditActivity であれば、startActivityForResult に変え(て onActivityResult メソッドを実装す)ることで AddEditActivity の終了を感知出来ますので、感知したらリストを更新すれば最小限の動作になるのではないでしょうか。
9
9
  (最近 startActivityForResult は Activity Result API に置き換えられましたけど。→[アクティビティの結果を取得する](https://developer.android.com/training/basics/intents/result?hl=ja))

2

追加

2022/09/10 18:32

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -3,3 +3,7 @@
3
3
  となるのは、 adapter が BaseAdapter だからです。変数の型が持っているメソッドしか使えません。
4
4
  refreshItemList メソッドがあるのは BaseAdapter では無くお作りになられた ListViewAdapter なのですから、 adapter の型を ListViewAdapter にしなければなりません。
5
5
  ついでに、 refreshItemList の直後に notifyDataSetChanged を実行していますが、このメソッドは refreshItemList 内で呼ぶべきものでしょう。
6
+
7
+ さらに言えば、 onRestart で再読み込みというのは少々乱暴な気がします。
8
+ 追加の画面が startActivity で実行しているAddEditActivity であれば、startActivityForResult に変えることで AddEditActivity の終了を感知出来ますので、感知したらリストを更新すれば最小限の動作になるのではないでしょうか。
9
+ (最近 startActivityForResult は Activity Result API に置き換えられましたけど。→[アクティビティの結果を取得する](https://developer.android.com/training/basics/intents/result?hl=ja))

1

修正

2022/09/10 18:24

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -1,5 +1,5 @@
1
1
  > 該当のソースコードにある※1のrefreshItemList()メソッドをclass MainActivityから呼び出しデータベースから取得したメモデータを更新しようとしましたが、refreshItemList()呼び出しで「シンボルが見つかりません。」が発生し呼び出せません。
2
2
 
3
- となるのは、 adapter が BaseAdapter だからです。
3
+ となるのは、 adapter が BaseAdapter だからです。変数の型が持っているメソッドしか使えません。
4
4
  refreshItemList メソッドがあるのは BaseAdapter では無くお作りになられた ListViewAdapter なのですから、 adapter の型を ListViewAdapter にしなければなりません。
5
5
  ついでに、 refreshItemList の直後に notifyDataSetChanged を実行していますが、このメソッドは refreshItemList 内で呼ぶべきものでしょう。