回答編集履歴

4

追加

2022/07/23 11:24

投稿

jimbe
jimbe

スコア12771

test CHANGED
@@ -1,5 +1,6 @@
1
1
  selectDir を呼び出して戻ってきた段階ではファイルピッカーが表示されたりしている状態です。
2
2
  ですので selectDir の直後に selectedPath を見ても何も変化していません。
3
+ (「1つ前に選択したディレクトリパスが表示される」のはココで設定しているからです。)
3
4
  ユーザがファイルピッカーを操作して選択すると、 result -> のメソッドが実行されて selectedPath に値が入ることになります。
4
5
  selectedPath の最新の値を用いるのであれば、このタイミングで行うのが一番です。
5
6
 

3

修正

2022/07/23 11:22

投稿

jimbe
jimbe

スコア12771

test CHANGED
@@ -6,8 +6,8 @@
6
6
  > registerForActivityResult()で取得した値をregisterForActivityResult()の外で
7
7
 
8
8
  「外で」というのはどのようなイメージなのでしょうか。
9
- 単に埋め込まれたくないというだけであれば、
9
+ 単に埋め込まれたくないというだけであれば、 hoshi-takanori さんご指摘のように
10
10
  fun setText(path: String) {
11
11
  binding.textView01.text = path
12
12
  }
13
- でもメソッドを作ってそれをregisterForActivityResult()から呼ぶだけでしょう。
13
+ とメソッドを作ってそれを registerForActivityResult() から呼ぶだけでしょう。

2

修正

2022/07/23 11:20

投稿

jimbe
jimbe

スコア12771

test CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  「外で」というのはどのようなイメージなのでしょうか。
9
9
  単に埋め込まれたくないというだけであれば、
10
- void setText(String path) {
10
+ fun setText(path: String) {
11
- textView.setText(path);
11
+ binding.textView01.text = path
12
12
  }
13
13
  とでもメソッドを作ってそれをregisterForActivityResult()から呼ぶだけでしょう。

1

追加

2022/07/23 11:19

投稿

jimbe
jimbe

スコア12771

test CHANGED
@@ -2,3 +2,12 @@
2
2
  ですので selectDir の直後に selectedPath を見ても何も変化していません。
3
3
  ユーザがファイルピッカーを操作して選択すると、 result -> のメソッドが実行されて selectedPath に値が入ることになります。
4
4
  selectedPath の最新の値を用いるのであれば、このタイミングで行うのが一番です。
5
+
6
+ > registerForActivityResult()で取得した値をregisterForActivityResult()の外で
7
+
8
+ 「外で」というのはどのようなイメージなのでしょうか。
9
+ 単に埋め込まれたくないというだけであれば、
10
+ void setText(String path) {
11
+ textView.setText(path);
12
+ }
13
+ とでもメソッドを作ってそれをregisterForActivityResult()から呼ぶだけでしょう。