Androidアプリの書き方思い出し

画面遷移

サブ画面に移るには、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 番目のアイテムがタップされたときの処理
            }
        });