ASリスト表示編③解説~コレクションのListを使ってリストを表示する~

import java.util.Arrays;

public class MainActivity extends AppCompatActivity {

String[] texts = {"abc","def","ghi","jkl"};

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

ListView listView = findViewById(R.id.listView);

ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(texts));

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1,arrayList);

listView.setAdapter(arrayAdapter);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>


</LinearLayout>

 

JavaではListクラスのオブジェクトを使用していく場合もあるが、Androidでは、

ArrayList型にしておかないと、ArrayAdapterの引数として使えないことに注意する必要がある。

すなわち、下記のような記載ではだめということになる。

List<String> lists = new ArrayList<>(Arrays.asList(texts));