AndroidのListViewの作り方
静的な値の場合
activity_main.xml
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/spice"
/>
strings.xml
<resources>
<string name="app_name">ListBasic</string>
<string-array name="spice">
<item>胡椒</item>
<item>ターメリック</item>
<item>生姜</item>
<item>コリアンダー</item>
<item>ニンニク</item>
<item>サフラン</item>
</string-array>
</resources>
動的な生成
activity_main.xml
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ArrayList<String> data = new ArrayList<>();
data.add("胡椒1");
data.add("ターメリック1");
data.add("コリアンダー1");
data.add("生姜");
data.add("にんにく");
data.add("サフラン");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_expandable_list_item_1, data);
ListView list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
}
イベント処理を追加する
MainActivity.java
list.setOnItemClickListener(
new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
削除の場合//adapter.remove((String) ((TextView)view).getText());
追加の場合//adapter.add("サフラン2");
}
}
);
長押しの場合は、こういうメソッドもある
list.setOnItemLongClickListener(
new AdapterView.OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
return false;
}
}
);
単一選択可能なリストを生成する
activity_main.xml
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
/>
MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ArrayList<String> data = new ArrayList<>();
data.add("胡椒1");
data.add("ターメリック1");
data.add("コリアンダー1");
data.add("生姜");
data.add("にんにく");
data.add("サフラン");
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_single_choice, data);
ListView list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(
new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
CharSequence msg = ((TextView) view).getText();
Toast.makeText(MainActivity.this,
String.format("選択したのは%s", msg.toString()),
Toast.LENGTH_SHORT
).show();
}
}
);
}
Author And Source
この問題について(AndroidのListViewの作り方), 我々は、より多くの情報をここで見つけました https://qiita.com/joji/items/dca48fb0e915077a01b2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .