- Androidプログラミング質問スレ revision43
501 :501[sage]:2014/06/25(水) 04:14:57.97 ID:f0T0UhRE - 質問さして下さい。
EditBox付きのアラートダイアログを表示し OKの場合EditBox内の文字列を取得したいのですが アラートダイアログが表示される前に、EditBox内の文字をActivity側で取得してしまいます。 コードをさらした方が解かりやすいと思うので、下記に書き込みます。
| - Androidプログラミング質問スレ revision43
502 :501[sage]:2014/06/25(水) 04:18:48.01 ID:f0T0UhRE - アラートダイアログを作るクラス
public class PropatyDialog implements DialogInterface.OnClickListener{ private Context context; private EditText foldername_editbox; private String folder_name = ""; private PropatyDialog() {} public PropatyDialog(Context context) { this.context = context; this.foldername_editbox = new EditText(context); } // テキストダイアログ表示メソッド public void showFolderNameDialog() { AlertDialog.Builder ad = new AlertDialog.Builder(context); ad.create(); ad.setTitle("フォルダ名入力"); ad.setView(foldername_editbox); ad.setNegativeButton("NO", this); ad.setPositiveButton("OK", this); ad.show();} @Override public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_POSITIVE) { folder_name = foldername_editbox.getText().toString(); } else if (which == DialogInterface.BUTTON_NEGATIVE) { folder_name = ""; } } public String getFolder_name() { return folder_name;} }
| - Androidプログラミング質問スレ revision43
503 :501[sage]:2014/06/25(水) 04:21:35.37 ID:f0T0UhRE - Activity側
PropatyDialog pd = new PropatyDialog(this); pd.showFolderNameDialog(); Log.v("FolderName", pd.getFolder_name()); if(!pd.getFolder_name().equals("")){ OpenAndWriteFileByJava folder_item = new OpenAndWriteFileByJava(this, MAIN_FOLDER_URI, pd.getFolder_name(), false); folder_item.makeFolder(); } 上記のpd.showFolderNameDialog();の前にpd.getFolder_name()が 呼び出されてしまいます。 どうすれば良いのでしょうか、ご教示願います。
|
|