【kotlin】DialogFragment コピペ用

👉 ダイアログ  |  Android デベロッパー  |  Android Developers 

DialigFragment

DialigFragment

まともに書くと割と長いので、コピペ用にいまさら書いておく。

class ConfirmDialogFragment: DialogFragment() {
private lateinit var listener: ConfirmDialogListener
interface ConfirmDialogListener {
fun onPositiveClick(dialog: DialogFragment)
fun onNegativeClick(dialog: DialogFragment)
}
override fun onAttach(context: Context) {
super.onAttach(context)
try {
listener = context as ConfirmDialogListener
} catch (e: ClassCastException) {
throw ClassCastException("$context must implement NoticeDialogListener")
}
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val message = arguments?.getString(ARGS_MESSAGE)
return activity?.let {
AlertDialog.Builder(it)
.setMessage(message)
.setPositiveButton(android.R.string.ok) { _, _ ->
listener.onPositiveClick(this)
}
.setNegativeButton(android.R.string.cancel) { _, _ ->
listener.onNegativeClick(this)
}
.create()
} ?: throw IllegalStateException("Activity cannot be null")
}
companion object {
private const val ARGS_MESSAGE = "message"
fun newInstance(message: String): ConfirmDialogFragment {
val bundle = Bundle().apply {
putString(ARGS_MESSAGE, message)
}
return ConfirmDialogFragment().apply {
arguments = bundle
}
}
}
}
class MainActivity : AppCompatActivity(), ConfirmDialogFragment.ConfirmDialogListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById<Button>(R.id.button).setOnClickListener {
showDialog()
}
}
private fun showDialog() {
val message = "This is a message."
ConfirmDialogFragment.newInstance(message)
.show(supportFragmentManager, ConfirmDialogFragment::class.simpleName)
}
override fun onPositiveClick(dialog: DialogFragment) {
showToast("Positive clicked.")
}
override fun onNegativeClick(dialog: DialogFragment) {
showToast("Negative clicked.")
}
private fun showToast(text: String) {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show()
}
}

ダイアログの具の変更は、以下からコピペして、該当部分を書き換える。
AlertDialog

👉 【Android】パパっと使えるAlertDialog一覧 - Qiita 


しかし、公式リファレンスて、読むの疲れない?

間違ってはないけど、何かが変じゃない?

👉 ダイアログ  |  Android デベロッパー  |  Android Developers 


「バックアップと同期」から「パソコン版Googleドライブ」への移行

👉 Google Workspace Updates: Backup and Sync users should begin transitioning to Drive for desktop 
👉 Googleドライブの「バックアップと同期」ユーザーは9月末終までに「パソコン版Googleドライブ」に移行する必要あり - ITmedia NEWS 

私はもろ該当してます。

「パソコン版Googleドライブ」は、以下から Windows/Mac 版をそれぞれインストールできます。

👉 Sync content across all devices with Drive for desktop 

まずは、インストールしておきました。

あ、重複してる。

google drive transition

なにこれ。

...

Starting July 19, 2021: Backup and Sync will support a guided flow to help users transition onto Drive for desktop.

👉 Google Workspace Updates: Backup and Sync users should begin transitioning to Drive for desktop 

 

「バックアップと同期」を無効化する

新しく「PC版Googleドライブ」をインストールすると、しばらくして起動したままになっている「バックアップと同期」にダイアログが表示される。

PC版Googleドライブ移行ツール

分かりにくい日本語だが要するに、

「ドライブファイルストリームと同期」
→ 「PC版Googleドライブ」のみ。「バックアップと同期」は無効化。

「両方使用」
→ 「PC版Googleドライブ」と「バックアップと同期」両方稼働させる。

ぽい。

こここで「ドライブファイルストリームと同期」を押して「バックアップと同期」を無効化させることができるが、

「バックアップと同期」 のアプリケーションとそれで同期していたディレクトリは残ったままなので、それぞれアンインストールと削除するのだろう。


lrwx------    1 nasu  staff      20  7 19 10:17 Google Drive -> /Volumes/GoogleDrive
drwx------@ 190 nasu  staff    6080  7 18 17:27 Google ドライブ

そうすれば、ユーザディレクトリ以下のディレクトリ「Google Drive/マイドライブ」からのデフォルトのローカルマウントポイント「/Volumes/GoogleDrive」 経由で、あたかもローカルユーザディレクトリにファイルがあるような感覚で、クラウド上のファイルの操作ができるようになる。

👉 Sync content across all devices with Drive for desktop 
👉 「Google ドライブ」のPC版クライアントが登場、新機能も - ケータイ Watch 


【三井住友カード(NL)】コンビニ3社 と マクドナルド で、ポイント最大「5%」還元のための2つの方法

 

知らないと半分の2.5%しか還元されないことに!

三井住友カード(NL)
👉 いつもの利用でポイント最大5%還元!|クレジットカードの三井住友VISAカード 

対象となる支払い方法と還元率

「三井住友カード(NL)」を契約すると、カード現物を使った支払いもできますし、それを登録した iPhone や Android をタッチして決済することもできます。

 

カード現物

三井住友カード(NL) 現物

カード現物を使った支払いでは、「タッチして決済」すると最大の5%還元となります

 

iPhone (Apple Pay)

三井住友カード(NL)  Apple Pay

支払い時にレジで「iD」を選択して(伝えて)からタッチでは、2.5%還元。

以下の様に、「クレジット」を選択してからのタッチで、最大の5%還元。

Visaのタッチ決済、Mastercard®コンタクトレスを利用したい場合は、「Visa(Visaをタッチ)で」「Mastercard(Mastercard®コンタクトレス)で」と店員にお申し出後、iPhoneなどをかざしてお支払いください。
なお、一部店舗では、レジの画面上で支払い方法を選択いただくことがございます。

その場合、「Apple Pay」を選択すると、iDでのお支払いとなり、+2.5%還元の対象とならない場合がございます。必ず「クレジットカード」を選択のうえ、お支払いください。

iDの場合「iDで」
Visaのタッチ決済の場合「Visaで」
Mastercardコンタクトレス「Mastercardで」

👉 Apple Payの概要|クレジットカードの三井住友VISAカード 
👉 三井住友VISA(NL)を使っています。iD専用の別カードも発行... - Yahoo!知恵袋 

 

Android (Google Pay)

三井住友カード(NL)  Google Pay

Android では、住友三井カード(NL) は、iD経由のタッチ決済しかできない。2.5%還元。

※ Google Pay でVisaのタッチ決済、Mastercard®コンタクトレスはご利用いただけません。(2021年5月現在)

👉  Google Pay™ |クレジットカードの三井住友VISAカード 

 

まとめ

iPhone を利用している人は、「クレジットカードで」、または「Visaで」、または「Mastercardで」 と伝えてタッチで5%還元。

Android を利用している人は、「カード現物」をタッチして5%還元。

ありがちな失敗は、スマホで「iD」経由のタッチ決済で処理されての2.5%還元で処理されているパターン。