public class Passplay extends ListActivity { public static final int PENALTY_ID = Menu.FirsT+1; public static final int FUMBLE_ID = Menu.FirsT+2; public static final int ADDLYDS_ID = Menu.FirsT+3; public static final int SAFETY_ID = Menu.FirsT+4; EditText ydsFromAlertDialog; String penYdsstr; /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.passplay); ydsFromAlertDialog=(EditText)findVIEwByID(R.ID.passYdsLabel); registerForContextMenu(getListVIEw()); } public boolean onCreateOptionsMenu(Menu menu) { populateMenu(menu); return(super.onCreateOptionsMenu(menu)); } public boolean onoptionsItemSelected(MenuItem item) { return(applyMenuChoice(item) || super.onoptionsItemSelected(item)); } public boolean onContextItemSelected(MenuItem item) { return(applyMenuChoice(item) || super.onContextItemSelected(item)); } private voID populateMenu(Menu menu) { menu.add(Menu.NONE,PENALTY_ID,Menu.NONE,"Penalty"); menu.add(Menu.NONE,FUMBLE_ID,"Fumble"); menu.add(Menu.NONE,ADDLYDS_ID,"Additional Yards"); menu.add(Menu.NONE,SAFETY_ID,"Safety"); } private boolean applyMenuChoice(MenuItem item) { LayoutInflater factory = LayoutInflater.from(this); final VIEw textEntryVIEw; switch (item.getItemID()) { case PENALTY_ID: textEntryVIEw = factory.inflate(R.layout.textdialog,null); new AlertDialog.Builder(this) .setVIEw(textEntryVIEw) .setIcon(androID.R.drawable.ic_dialog_alert) .setTitle(R.string.timeout) .setPositivebutton(R.string.offense,new DialogInterface.OnClickListener() { @OverrIDe public voID onClick(DialogInterface dialog,int which) { //Actions for offensive timeout EditText penaltyYds=(EditText)findVIEwByID(R.ID.ydsAssessedLabel); penYdsstr = penaltyYds.getText().toString(); ydsFromAlertDialog.setText(penYdsstr); } }) .setNeutralbutton(R.string.defense,int which) { //Actions for defensive timeout } }) .setNegativebutton(R.string.cancel,null) .show(); return true; case FUMBLE_ID: //Fumble window return true; case ADDLYDS_ID: //Additional Yards window return true; case SAFETY_ID: //Safety window return true; } return(false); }}
主要的XML布局(passplay.xml)有你的普通TextVIEws,EditTexts,CheckBoxes等.我想设置其中一个EditTexts(ydsFromAlertDialog)来赋予在AlertDialog(EditText penaltyYds)中输入的值. AlertDialog的XML布局(textdialog.xml)非常简单,只有一个TextVIEw和一个EditText.
当我运行该程序时,以下行错误“应用程序已意外停止”.
penYdsstr = penaltyYds.getText().toString();
总而言之,我想按菜单选项“Penalty”,使用带有EditText的AlertDialog输入一个数字,当我按下Positivebutton时,EditText ydsFromAlertDialog的值将更改为在Dialog中输入的值.
实际上,我有一个包含5列的数据库表,其中4列将由普通字段填充,但第5列将填充在对话框中输入的值.我想如果我可以“返回”它“与”剩下的值,我将能够将其保存到与其他值相同的表记录中.
如果您需要更多信息,请与我们联系.谢谢!
解决方法 你必须从你膨胀的视图中获取ydsAssessedLabelEditText penaltyYds=(EditText)textEntryVIEw.findVIEwByID(R.ID.ydsAssessedLabel);总结
以上是内存溢出为你收集整理的android – 如何从AlertDialog中的EditText中检索值?全部内容,希望文章能够帮你解决android – 如何从AlertDialog中的EditText中检索值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)