れみゅーぶろぐ

某(元)高専生が多彩なジャンルにわたって書くブログ。非常に真面目なブログであると自負しております(要出典)。Twitter:@_remew_

Androidアプリ開発途中のメモ(EditTextとDialog)

いわゆるメモ代わりとしてブログを使ってみたいと思っていたところちょうどいいところに解決できない事案が発生、原因を調べてみるとよく分からなかったがいろんなところのコードをコピペしたらなんとかなった()

 

やりたかったこと

  • ListViewの要素の1つをタップするとAlertDialogが開き、そこにEditTextがあり文字を打てる

起こったこと

  • 1回目はちゃんとダイアログが開くが、OKやキャンセルを押してアプリを閉じずにもう一度タップすると落ちる(死)

原因

  • なんかどうやらDialogとかEditTextとかがすでに生成されて結びついているのに再生成しようとして色々とやばいらしい(適当)

解決法

 

こんな感じ(?)

@Override

protected Dialog onCreateDialog(int id)

{

Dialog dialog = super.onCreateDialog(id);

 

if( id == 0 )

{

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);

 

dialogBuilder.setTitle(R.string.Title);

dialogBuilder.setView(this.editText);

dialogBuilder.setPositiveButton(R.string.OK, this.OkButton);

dialogBuilder.setNegativeButton(R.string.Cancel, new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int which){}

});

 

dialog = dialogBuilder.create();

}

 

return dialog;

 

・・・謎

まともなメモ代わりとして使えてないぞ?

 

難しいので今日はとりあえずこの辺で(逃げた)