[Android Studio] Adapterとは?

どうも、tatsuです!

今日は、Adapterとは何か?を説明します。

※この記事で使用しているAndroid Studioのバージョンは2.3.3です。

Adapterとは何か?

Adapterとは、SpinnerやListViewといったリストを扱うウィジェットで使用されます。
javaプログラムでリストの項目を動的に生成し、リストに入れる際の橋渡しの役割を持ちます。
Spinnerを例にしたプログラムが以下です。

activity_main.xml

activity_main.xmlは以下のようにします。

    <Spinner
        android:id="@+id/droplist"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

MainActivity.java

MainActivity.javaは以下のようにします。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // スピナーに表示する項目を生成
        ArrayList<String> spinnerList = new ArrayList<>();
        for(int i = 1; i <= 10; i++){
            spinnerList.add("項目" + i);
        }

        /**
         * Adapterを生成
         * android.R.layout.simple_spinner_item : スピナー自身のレイアウト。今回はAndroid標準のレイアウトを使用。
         * spinnerList : Adapterのコンストラクタの引数としてスピナーに表示する項目のリストを渡す。
         */
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinnerList);

        // idがdroplistのSpinnerを取得
        Spinner spinner = (Spinner) findViewById(R.id.droplist);
        // spinnerのsetAdapterメソッドで、Adapterをセットする
        spinner.setAdapter(arrayAdapter);
    }

}

結果

補足
今回使用したレイアウトやAdapterの種類は他にも沢山あるので、使用用途にあったものを探してみてください。
自分で作ることも可能です。
↓Android標準レイアウトは以下を参照
Android標準レイアウト一覧

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です