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

Activity間のデータ受け渡し

MyActivity.java

Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("EXNAME", "example");
intent.putExtra("EXINT", 30);
startActivity(intent);

NextActivity.java

Intent intent = getIntent();
String exname = intent.getStringExtra("EXNAME");
int exint = intent.getIntExtra("EXINT", [デフォルト値]);
2,289 views

カメラのエラー setparameters faild

android/1683で紹介していた方法で
エラーが発生したので修正しました。

surfaceChanged内のsetPreviewSizeメソッドでエラー発生
元は以下のようなコード

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
    Camera.Parameters parameters = mCamera.getParameters();
    parameters.setPreviewSize(w, h);
    mCamera.setParameters(parameters);
    mCamera.startPreview();
}

続きを読む…»

4,942 views

Honeycomb Cursor関連のエラー

SQLiteデータベースを扱うアプリをAndroid3.2搭載の端末に入れていてエラーが発生した。
詳細は省略しますが、以下のようなエラーが出ます。
RuntimeException: Unable to resume activity
IllegalStateException: trying to requery an already closed cursor

クエリを実行しようとしたが、カーソルが閉じているとエラーが出ています。
どうやらカーソルマネージャー機能がなくなったよう。

というわけで、マネージャーを使うのをやめ、クローズ処理をアクティビティのonDestroy()に集約。
これでエラーは解消された。

Android2.2、2.3では正常に動作するので、バージョン違いの互換性による問題のようです。
代わりのメソッドが用意されている場合もあるので、Reflectクラスを利用すれば互換性を持たせることは可能なようです。

参考?
http://d.hatena.ne.jp/ukiki999/20100524/p1

1,957 views

フォームのセレクトボックスを操作する

項目を追加する

document.form.SELECT_BOX.options[INDEX] = new Option(VALUE, TEXT);

項目を削除する

N番目の項目を削除する

SELECT_BOX.options[N] = null;

項目を全て削除する
※項目数は削除する毎に減少していくので、最後から順番に削除します。

var len;

with(document.form)
{
    len = SELECT_BOX.length;

    for(i = 0; i < len; i++)
    {
        SELECT_BOX.options[len - i] = null;
    }
}
1,491 views

指定したオブジェクトに対する処理をするwith

現在、with文は非推奨とされています。

Warning: 混乱させるバグや互換性問題の原因になり得るため、with 文の使用は推奨されません。

with文を使うことでスクリプトを省略することができます。

例として、以下のようなHTMLフォームがあったとします。

<form name="myForm" action="example.cgi" method="post">
	<input type="text" name="name" size="20" />
	<input type="submit" value="submit" />
</form>

フォームオブジェクトを引数として渡し、
スクリプトを省略します。

with(document.myForm)
{
	alert(name.text);
}
1,358 views