を持っていlistview
ますが、「編集」アクション ボタンをクリックlistview
すると、別のレイアウト リソースを使用して、リストの各項目の横にボタンが表示されるようにします。
layout before: listitem_routine
layout I want after "edit" action button clicked: listitem_routine_edit
動作する私のコードは次のとおりです。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_routines);
datasource = new RoutinesDataSource(this);
datasource.open();
List<Routine> values = datasource.getAllRoutines();
ArrayAdapter<Routine> adapter = new ArrayAdapter<Routine>(this,
R.layout.listitem_routine, R.id.listitem_routine_name, values);
setListAdapter(adapter);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
ArrayAdapter<Routine> adapter = (ArrayAdapter<Routine>) getListAdapter();
// Handle item selection
switch (item.getItemId()) {
case R.id.button_routines_edit:
// change the list view adapter resource layout to *_edit
// hide this button and show the "done editing (checkmark)" button
return true;
default:
return super.onOptionsItemSelected(item);
}
}
R.id.button_routines_edit
クリックされたときにトーストを作ったので、うまくいくことはわかっています。そして美味しかったです。私はそれ以来、そのコードを削除しました...
R.id.button_routines_edit
がクリックされたときにレイアウトリソースを変更するにはどうすればよいですか? すべてのコードがそこにありますが、レイアウト リソースを変更する方法がわからないだけでlistview
、新しい行レイアウトを表示するように更新することは明らかです...