Androidアプリのプログラミング/Androidアプリプログラミングの入門・基礎知識

Androidのコピペ機能を利用する(2ページ目)

今回はAndroidのClipboardManagerを利用してコピペができるようにしてみましょう。

執筆者:若竹 雅貴

クリップボードにコピーする

まずはじめに、以下の様なxmlレイアウトを用意します。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/copy_button"
android:layout_alignParentTop="true"
android:hint="コピーしたいテキストをここに入力して下さい。"
android:ems="10" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText"
android:layout_below="@+id/editText"
android:text="ペーストしたテキストが表示されます。" />

<Button
android:id="@+id/paste_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/copy_button"
android:layout_below="@+id/copy_button"
android:text="Paste" />

<Button
android:id="@+id/copy_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView"
android:text="Copy" />

</RelativeLayout>
こちらがビルドされると、以下のような画面となります。

今回のアプリのレイアウト。コピー用のEditText、ペーストした文字を表示するTextView、コピペ用ボタンが存在する。

今回のアプリのレイアウト。コピー用のEditText、ペーストした文字を表示するTextView、コピペ用ボタンが存在する。

コピーしたい文字を入力するためのEditText、ペーストした文字を表示するTextView、EditTextに入力した文字をクリップボードに保持するためのコピーボタン、クリップボードからテキストをペーストするためのペーストボタンを配置しています。

クリップボードを利用する際には、クリップボードを取得します。以下に例を示します。
// クリップボードを取得
clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboardはClipboardManagerのインスタンス変数です。続いて、クリップボードにコピーするプロセスをプログラムにします。
// コピーボタンの設定
copyButton = (Button) findViewById(R.id.copy_button);
copyButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// コピーするデータをエディットテキストから取得する
ClipData clip = ClipData.newPlainText("copied_text", editText.getText().toString());
// クリップボードに内容をコピーする
clipboard.setPrimaryClip(clip);
}
});
ここでは、コピーボタンを押した際に、EditTextに入力された文字をクリップボードにコピーするようにしています。これで、コピーの機能ができました。

次のページではペーストの機能を実装したいと思います。

  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます