画面遷移
サブ画面に移るには、Intentを作ってstartActivityする。
Intent intent = new Intent(getApplication(), サブ画面Activityのクラス名.class); startActivity(intent);
サブ画面のActivityを作るには、[Projact]ウィンドウの[app]を右クリックして[New] > [Activity] > [Empty Activity] を選んであとは指示に従って名前などを設定する。クラスのjavaソースとレイアウトのxmlソースのひな型が生成され、AndroidManifest.xmlにもActivityの宣言が追加される。
元の画面に戻るには、サブ画面のActivityをfinishする。
finish();
画面のタイトル
AndroidManifest.xmlの<activity>要素にandroid:labelで指定する。
<activity android:name=".HogeActivity" android:label="@string/hoge_title"> </activity>
リスト表示
- レイアウトにListViewを配置し、idを記述する。
<ListView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:id="@+id/listHoge"/>
- ActivityのコードでListViewオブジェクトを定義してレイアウトと紐づける。
- 表示したい内容物(ここでは文字列の配列)を含んだArrayAdapterオブジェクトを作る。
- ArrayAdapterオブジェクトをListViewオブジェクトにセットする。
public class HogeActivity extends Activity { private ListView listHoge; private static final String[] items = { "Itme1", "Itme2", "Itme3" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activityHoge); listHoge = (ListView)findViewById(R.id.listHoge); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); listHoge.setAdapter(arrayAdapter); } }
- リストのどれかをタップされたイベントの処理はsetOnItemClickListenerで記述する。
listHoge.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // position 番目のアイテムがタップされたときの処理 } });