Androidアプリ開発:
現状
- 初回
進捗
- スタート画面と時間割ページのスクロール対応フラグメントの構築
コード部分
Main側のソースコード
public class MainActivity extends AppCompatActivity { private Spinner spinner; final private String spinnerItems[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初期フラグメントの呼び出し MondayFragment firstFragment = new MondayFragment(); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.add(R.id.fragment_container, firstFragment); transaction.commit(); spinner = findViewById(R.id.spinner); // ArrayAdapter ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, spinnerItems); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // spinner に adapter をセット spinner.setAdapter(adapter); // リスナーを登録 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { // アイテムが選択された時 @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { //その曜日のfragmentを呼ぶ処理 } // アイテムが選択されなかった public void onNothingSelected(AdapterView<?> parent) { // } }); } }
フラグメントの使い方
MondayFragment firstFragment = new MondayFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.fragment_container, firstFragment);
transaction.commit();
スピナーの使い方
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, spinnerItems); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);
xml側的には普通のViewと同様に扱う。
- adapterを使って扱うデータ(今回はspinnerItems)を設定しインスタンスの生成。
- spinnerのメソッドsetAdapterにより、このadapterをスピナーにセットする。
成果
- ScrollViewの使い方
- Spinnerの使い方
- Fragmentの使い方
次回予定
- フラグメントの生成の分岐と時間割部分の詳細設計
- それぞれの科目部分についてのデータ管理部分