せでぃのブログ

ブログ初心者おいどんのどうでもいい愚痴やどうでもいい愚痴やどうでもいいマメ知識などを披露するチラシの裏です。

ListViewをカスタマイズしてみた

 3画面、リストビュー画面、詳細画面、設定画面を作ってみた。そのほか、戻るボタンやメニューボタンの消去、引っ張って更新する奴を実装してみた。
f:id:Sediment:20150702223725j:plain


 どこかで見たことある画面? カスタマイズ元はSyllabusの途中のここら辺のもの。
techinstitute無料テキストSyllabusの途中のコード - せでぃのブログ
 完成ファイルはここ。適当にコピペしてる状態なので、未だにFragmentとAdapterの使い方がよくわからないアルね。github.com

画面作成はAndroidActivityの追加

 New→Others→AndroidActivity。Fragmentを使わずにSpinnerを実装する方法がわからなかったので、ここでは設定ページのみBlankActivitywithFragmentで画面作成。それ以外はBlankActivityで。
f:id:Sediment:20150702205053p:plain
f:id:Sediment:20150702205108p:plain
f:id:Sediment:20150702205120p:plain

画面遷移はintent

 データ受け渡しをしない場合はこれだけ。先に作っている画面のclass名を呼ぶ感じで。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
	// アクションバーの設定を押すと画面遷移し、音とメッセージを出す
	switch (item.getItemId()) {
	case R.id.action_settings:
		// 画面遷移
		Intent intent2 = new Intent(this, SettingsPage.class);
		startActivity(intent2);
	
		return true;
	}
	return super.onOptionsItemSelected(item);
}

画面右上のメニューボタンを消す

 onCreateOptionsMenuメソッドでmenu.clear()を追記するだけ、簡単。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
	getMenuInflater().inflate(R.menu.settings_page, menu);
	
	// メニューボタンを消去
	menu.clear(); 
	return true;
}

参考リンク

 引っ張って更新と戻るボタンは面倒なので、参考リンクを見てくれ。ナビゲーションドロワーとかも付けてみたかったけど、ゴテゴテしそうでやめた。
[Android] Support Library に追加された SwipeRefreshLayout - adakoda
ActionBarで戻るボタンをつける setDisplayHomeAsUpEnabled | Android アプリの教科書
[Android] [Java] Androidアプリケーションのメニューを実装する