カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

選択用のダイアログ表示

サブメニューやコンテキストメニュー以外で、選択してもらう機能を実装したいときに発見しました。
複数の選択肢を持たせることができるダイアログを実装することができます。

AlertDialog.Builder ad = new AlertDialog.Builder(this);
ad.setTitle("選択");
final String[] items = { "01", "02", "03"};
ad.setItems(items, new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        Log.v(TAG, items[which] + "が選択されました。");

        switch(which){
        case 0:
            //01が選択された場合の処理
            break;
        case 1:
            //02が選択された場合の処理
            break;
        case 2:
            //03が選択された場合の処理
            break;
        }
    }
});
ad.create().show();

続きを読む…»

2,607 views

Activityの背景色を変更したときのListView

リストビューを表示するアクティビティの背景色を変更すると
リストビューをスクロールしたときにリストビューの背景が真っ黒になってしまいます。
解消するには以下のほうほうをお試しください。

コードから

ListView.setCacheColorHint(Color.TRANSPARENT);

XMLに記述
ListViewのプロパティに以下を追加してください。

android:scrollingCache="false"
3,980 views

Location(位置情報)クラスの基本プロパティ

LocationManagerのonLocationChangedメソッドでLocationクラスより
得られるプロパティの一覧です。
位置情報プロバイダによっては取得できない値もあるので、
確認用メソッドが用意されています。
続きを読む…»

16,712 views

パッケージのfilesディレクトリのファイルリストを表示

//ファイル名のフィルターを作成
FilenameFilter fFilter = new FilenameFilter() {
  @Override
  public boolean accept(File dir, String filename) {
    return filename.matches(".+.jpg"); //正規表現で検索
  }
};

File fileDir = this.getFilesDir();
Toast.makeText(this, String.format("ファイルアクセスデレクトリは「%s」です。",
fileDir.getPath()), Toast.LENGTH_LONG).show();

String[] f = fileDir.list(fFilter);
for( int i = 0; i < f.length; i++ ) {
  Log.v(TAG, f[i]);
}
2,615 views

シャッターボタンで撮影する

カメラを使用するアプリで、ハードウェアの撮影ボタンを使うには。
ActivityクラスでonKeyUpイベントをオーバーライドで実装します。

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    boolean ret = super.onKeyUp(keyCode, event);
    if(keyCode == KeyEvent.KEYCODE_CAMERA) {
        //撮影処理
    }
    return ret;
}
4,094 views