Androidプログラミング質問スレ Part14
■ このスレッドは過去ログ倉庫に格納されています
0265デフォルトの名無しさん
2011/11/05(土) 20:22:09.58別スレッドで操作する他の方法としては、xml を使わずに onCreate の前に Button を定義してから使う方法がある。
自分は xml でウィジェットを定義してないのでよく使う方法だけど、
onCreate の前に java で定義しておけばエラーを回避できる。
おおまかな流れとしてはこんな感じ。※このままでは動作しません。
public class ButtonActivity extends Activity implements OnClickListener {
Button btn; //ここでボタンを定義
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main); //xmlは使わない
Button btn = new Button(this);
setContentView();
}
public void onClick(View v) { //操作に応答するためのスレッド。onClick 以外の場合も似たような感じ。
if(v == btn) btn.setEnabled(false);
}
private final Runnable runnable = new Runnable() { // 1 秒後にボタンを操作するための実装。
@Override
public void run() {
btn.setEnabled(false); //ボタンを操作
//1秒(1000ミリ秒)後に再帰呼び出し
handler.postDelayed(runnable, 1000);
}
};
}
例 2 については onClick のみで可能だけど、例 1 は後半のようなハンドル操作が必要になるな。
どうしても xml でボタンを定義したい場合は...やったことないスマソw
■ このスレッドは過去ログ倉庫に格納されています