Celeste Engineer

Androidとか自転車とか

AccountManager を用いた自動サジェスト付き EditText

AccountManager からアカウント一覧を取ってきて、それの account.name をサジェストに使うという機会が割りと多かったので、ライブラリとして公開しました。

https://github.com/KeithYokoma/AccountAutoCompleteEditText

今は未だ単純な実装しかないですが、アカウントの種類に応じてサジェストするリストの中身をコントロールできる仕組みが有ります。

使い方は以下のとおり。

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <jp.yokomark.widget.account.autocomp.AccountAutoCompleteEditText
        android:id="@+id/any"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/label_account_type_any"
        app:accountType="any"/>
</RelativeLayout>

app:accountType属性が肝になっていて、1.0.0 では以下の 3 つの値を用意しています。

  • any AccountManager にあるものをとりあえず全部サジェスト。
  • email メールアドレスで登録してあるものをサジェスト。
  • phoneNumber 電話番号で登録してあるものをサジェスト。

Maven Repository もおいてあるので、そこからお使い下さい。