【Android Studio&Kotlin】テキストボックスの長押しでコピペを禁止する方法

こんにちは。YOSHITAKA(@YOSHITA19704216)です。

初心者
Kotlinのテキストボックスで貼り付け禁止することができますか?

よしたか
学んだことをアウトプットしていきます。

 

この記事を読むことで
  • テキストボックスのコピペ禁止の方法がわかります。

Contents

【Android Studio&Kotlin】テキストボックスの長押しでコピペを禁止する方法

事前準備

大前提
  • エディットテキストを設定しておいてください。

activity_main.xml

重要なのは以下の部分です。

android:longClickable="false"

メインのlayoutフォルダのxmlファイルを変更していきます。

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:longClickable="false"/>
ポイント
  • 長押しを禁止にしましょう。

MainActivity.kt

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    //コピペ禁止設定
    editText.disableCopyPaste()
}
private fun EditText.disableCopyPaste() {
    isLongClickable = false
    setTextIsSelectable(false)
    customSelectionActionModeCallback = object : ActionMode.Callback {
        override fun onCreateActionMode(mode: ActionMode?, menu: Menu): Boolean {
            return false
        }

        override fun onPrepareActionMode(mode: ActionMode?, menu: Menu): Boolean {
            return false
        }

        override fun onActionItemClicked(mode: ActionMode?, item: MenuItem): Boolean {
            return false
        }

        override fun onDestroyActionMode(mode: ActionMode?) {}
    }
}

 

ポイント
  • EditText.disableCopyPasteの中はひとまとめっぽいです。こちらは参考にしたものなので詳しくは色々と動作を検証してみてください。

まとめ

今回は自テキストボックスの長押しでコピペを禁止する方法についてお伝えしました。

 

※プログラミングは習得中ですので、参考程度に記事を読んでください。

 

参考はこちらです。

https://stackoverflow.com/questions/6275299/how-to-disable-copy-paste-from-to-edittext

あなたは「Web集客」に限界を感じていませんか?

サイトをただ作るだけで満足ですか?

あなたのサービスやコンテンツはとっても有益なものがたくさんあります。

良いコンテンツも埋もれてしまっては全く意味がありません。

正しい知識と実践で、SEO対策はもちろん、ユーザビリティーを考えたサイトを作りませんか?

私と歩めばWebマーケティング知識とWordPressスキルが定着し、サイト回遊率、再訪問がアップします。

しかも、これだけでは終わりません!!

その先の「攻めのメディア」と組み合わせ、あなたのサービスを広めて売上を伸ばしていきます。

サイトを育てて、長い間愛されることのできるWordPressサイトからの集客導線(ゴールデンルート)を一緒に作りませんか?

↓ ↓ ↓ ↓ ↓ ↓ 

おすすめの記事