Translate

BTemplates.com

Powered by Blogger.

2018年3月2日金曜日

2018-03-01 到達点メモ


*Kotlinで開発しています


FragmentClassでcontextを使いたい場合は
*今回の場合はDialogFragment

activity.applicationContext

と宣言すればよい。
api23からならcontextを呼び出せるのだが
それ以前は不可なのでわざわざバージョン別けするぐらいなら
上記のように呼び出した方が明らかに楽である

参考サイト
Android フラグメントでcontextを使用する


ダイアログにデータを渡したい場合

◆渡す方

val dialog = SelectTimeDialogFragment()
val testString = "AAA"
val args = Bundle()
args.putString("testString", testString)
dialog.arguments = args
dialog.show(fragmentManager,"testString")


◆受け取る方

appPackgeName = arguments.getString("testString")


参考サイト
Android DialogFragmentで引数を扱う


今回自作クラスをつくったので
クラス作成時に引数を取りたかったので
調べたところ以下のようにすればよかったらしい

class UserInfoSaveAndLoad(appContext: Context) {
    val applicationContext = appContext
    val prefs = PreferenceManager.getDefaultSharedPreferences(applicationContext)
    val gson = Gson()
    val userInfoString:String? = prefs.getString("TEST", null)
//以下略

別にわざわざinitを宣言しなくても
代入くらいなら普通に上記のようにコンストラクタとして書けるようである

参考サイト:Kotlinでコンストラクタを書く

データの読み書き用の自作クラスを作ったので
割と時間がかかったがとりあえず時間の保存・読み込みができるようにはなった。
使っていてTimePickerが内部の処理的にも、使い勝手的にもめんどくさいので
結局、ライブラリに回帰するかもしれない。

最低限の目標は達成したので今日はここまで。


0 コメント:

コメントを投稿