ライブ告知『Golden Age vol.1』 開催決定!!

超豪華出演者たちで送る、弾き語りイベント開催決定!!

Q04QrS1388981126

  • 2014/1/29 18:30~ 
  • 池袋RED-Zone 
  • 工藤ちゃん/谷口隆太/リーファンデ/田中翔/くわっちゃん 
  • OPEN:18:30 START19:00 
  • チケット:¥1,000 + ドリンク:¥1,000(2drink)

かつてない程の豪華出演陣! この組み合わせで開催できること自体が奇跡!
間違いなく東京の音楽シーンの最先端を走り続ける5人の出演者たち!!

工藤ちゃん

イベンターやモデルとして活躍する女子大生シンガーソングライター!
渋谷のバンド事情は彼女に聞け!!

gucci谷口隆太

ギターも歌も、どちらも妥協しません!
アコギファンクの神髄を見せてやる!

riリーファンデ

下北沢を中心に活躍するソウルマン!
オンリーワン&ナンバーワンの弾き語り聞き逃すな!

tanaka田中翔

イベント・テレビ出演多数!
ブレイク間近のポストロックバンドのイケメンギタボ、彼の弾き語りが聞けるのは、このイベントだけ!!

kuwataくわっちゃん

謎の出演者!?
正体は見てのお楽しみ!

池袋RED-Zone


大きな地図で見る

出演者たちの動画

田中翔



リーファンデ


谷口隆太


Androidアプリのクリックリスナーのまとめ

Androidアプリで、画像やテキストをタッチしたときのクリックリスナーを実装する方法はいくつかあります。

その1
レイアウトxmlで定義して、ActivityでViewを受け取る

<Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/bt_image"
  android:onClick="BUTTON" />

レイアウトxmlで、「android:onClick=”BUTTON”」のようにonClick属性を付与します。
これはButtonビューだけでなく、ImageViewやTextViewなど、ほとんどのViewで有効です。

public void BUTTON(View v) {
    //タッチされたときの処理
}

レイアウトを読み込んだActivity内で、このようなメソッドを記述します。
すると、タッチされるとこのBUTTON関数が呼び出されます。

私がアプリを作るときは、この実装の仕方が一番多く使います。
可読性が高く、コードがすっきりし、変数の管理もしやすいです。

その2
コードでリスナーを登録し、受け取ったViewを判定して処理を振り分ける

image1.setOnClickListener(this);
image2.setOnClickListener(this);
image3.setOnClickListener(this);

public void onClick(View v) {
	switch (v.getId()) {
	case R.id.image_id1:
		//処理その1
		break;
	case R.id.image_id2:
		//処理その2
		break;
	case R.id.image_id3:
		//処理その3
		break;
	default:
		break;
	}
}

「findViewById(R.id.○○)」でレイアウトと結びつけたView変数に、「setOnClickListener(this)」でリスナーをセットします。
onClickメソッドが呼び出されるので、IDでswitch文を振り分けて処理を書き込みます。

あまり使わない実装方法ですが、同じ属性のボタンや画像をタッチしたときや、似たような処理を行うときにはこの方法も有用です。

その3
メソッドを直接定義してセットする

image1.setOnClickListener(clickImage1);
image2.setOnClickListener(clickImage2);
image3.setOnClickListener(clickImage3);

private View.OnClickListener clickImage1 = new View.OnClickListener() {
	public void onClick(View v) {
		//処理その1
	}
};
private View.OnClickListener clickImage2 = new View.OnClickListener() {
	public void onClick(View v) {
		//処理その2
	}
};
private View.OnClickListener clickImage3 = new View.OnClickListener() {
	public void onClick(View v) {
		//処理その3
	}
};

メソッドを指定してリスナーをセットしています。
その2とやり方は似ていますが、ネストが深くなるのが嫌いな方はこのやり方でも良いかもしれません。

その4
Viewごとにリスナーを設定してメソッドも定義する

text_view.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		//処理その1
	}
});		

このやり方が便利なのは、どのViewにも関係なくリスナーを設定できる点です。
一度宣言してfindViewしたViewなら、このやり方で付与するととても楽です。

色んなコードを書くうちに、場合に合った書き方が解ってくると思います。
迷った時はこの記事をまた見に来てくださいね!

Androidアプリでアイテム選択型のダイアログを表示する

Androidアプリで、いくつかのアイテムの中から1つを選択させるダイアログを表示させます。

例として、今回は「出身の都道府県を選択させる」というダイアログです。 まずは、都道府県の配列を定義します。

[Const.java]

//都道府県配列
public static final String TODOUFUKEN[] = { "北海道", "青森県", "岩手県", "宮城県",
	"秋田県", "山形県", "福島県", "茨城県", "栃木県", "群馬県", "埼玉県", "千葉県", "東京都",
	"神奈川県", "新潟県", "富山県", "石川県", "福井県", "山梨県", "長野県", "岐阜県", "静岡県",
	"愛知県", "三重県", "滋賀県", "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県", "鳥取県",
	"島根県", "岡山県", "広島県", "山口県", "徳島県", "香川県", "愛媛県", "高知県", "福岡県",
	"佐賀県", "長崎県", "熊本県", "大分県", "宮崎県", "鹿児島県", "沖縄県" };

このソースでは別ファイルにまとめていますが、Activity内で宣言しても構いません。

次に、ダイアログを呼び出す部分です。

[SampleActivity.java]

new AlertDialog.Builder(SampleActivity.this)
.setTitle("お住まいの都道府県を選択してください")
.setItems(Const.TODOUFUKEN, new DialogInterface.OnClickListener(){
    public void onClick(DialogInterface dialog, int which) {
		//選択に応じていろいろ
    	String place = Const.TODOUFUKEN[which];
    	TextView.SetText(place);みたいな……
    }
})
.show();

これを動かすとこんな感じ。
1

選択したら「which」という変数に番号が入って返ってきます。
あとはそれを利用してあれやこれやしてください。

 

なにげに、都道府県配列の方が地味に役立つかも……。

AndroidアプリのTextViewにウェブのURLを貼りつける

Androidアプリで文字を表示するときはTextViewを使いますね。 
今回はそのTextViewに、URLを貼りつけて、そのURLにタッチしたらブラウザを立ち上げる方法を解説します。 
 
拙作『ほむほむ語変換』のトップページで、まさにそれをやっています。 
1 
 
やり方を知らなかったら、TextViewを3段組んで、ひとつひとつ文字色を変更して、2段目のTextViewにクリックリスナーを設定して、クリックされたらUriにURLをぶちこんで……という風に作ってしまうと思います。 
 
スマートなやり方として、TextViewにセットするString変数をHTMLソースとして認識させる方法があります。 
 
まずは、レイアウトXMLの方にTextViewを設置します。 

android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ddffffff"
android:textSize="14sp"
android:text="aaa"
android:textColor="#dd6666" />

 
こちらはいつも通りですね。 
 
次にソースコードの方です。 

text1 = (TextView) findViewById(R.id.text1);

MovementMethod mm = LinkMovementMethod.getInstance();
text1.setMovementMethod(mm);

String html = "不具合や、ご意見ご要望などございましたら、<br><a href=\"https://twitter.com/gucci1208\">twitterID:gucci1208</a><br>までご気軽にどうぞm(_ _)m";
CharSequence cs = Html.fromHtml(html);

text1.setText(cs);

 
URLをタッチしてブラウザを起動するのを有効にしたり、String変数をHTMLとして識別したりしています。 
 
特に、↓ここで実際の文字列を指定するのですが、HTMLなので、改行コードは「\n」ではなくて「<br>」ですね。 
あと、「”」(ダブルクオーテーション)をエスケープしたりしています。 

String html = "不具合や、ご意見ご要望などございましたら、<br><a href=\"https://twitter.com/gucci1208\">twitterID:gucci1208</a><br>までご気軽にどうぞm(_ _)m";

 
 
うまく使いこなせば、リッチなTextViewに仕上げることができます。

Androidアプリで、時間設定のダイアログを表示したいとき

Androidアプリでダイアログを表示して、そこから時間を設定するには、下記のように書きます。

int time_h = 0;
int time_m = 0;

TimePickerDialog timePickerDialog = new TimePickerDialog(SampleActivity.this, new TimePickerDialog.OnTimeSetListener() {
	@Override
	public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    time_h = hourOfDay;
    time_m = minute;
	}
},
time_h,
time_m,
true);
timePickerDialog.setMessage("時刻設定");
timePickerDialog.show();

TimePickerDialogでは、DatePickerDialogとは違い、時間も分もそのままの値が扱われます。   また、この部分でダイアログを開いたときのデフォルトの時間をセットしています。

time_h,
time_m,
true);

この処理を実行すると、この画面のようになります。

2

Top