Я пытался справиться с диалогами.Я прочитал информацию о сайте разработчиков Android и дюжину болгов.Кажется, есть несколько способов сделать это, и я могу по крайней мере получить диалоговое окно с 3 кнопками (не используя настраиваемое диалоговое окно с пользовательским макетом).
Если я настроил положительный / отрицательный / нейтральныйдействия с чем-то вроде finish (), cancel () и т. д., он работает с этими вызовами.
Но я хочу сделать, чтобы кнопки делали что-то большее, если только отображают текст, используя строку, определенную вОсновной код (не тост).В конце концов, я хочу ввести некоторые цифры в диалоге и вернуть их в виде строки.Да, я могу сделать это с другого экрана активности, но предпочитаю не делать этого, так как мне нравится компактный размер диалога.
Даже обман и возвращение целого числа в основной код для выполнения некоторых переключений / падежей было бы хорошоно я, похоже, не могу даже вернуть целое число.
Я понимаю, что мне нужно сделать настраиваемое диалоговое окно с предупреждением, чтобы выполнить ввод данных, и ниже я попытаюсь начать с простой попытки вернутьстрока или целое число - кажется, что оно меня туда не приводит!
Этот код представляет диалог с 3 кнопками.Это только одна из попыток, которые я сделал (целочисленный возврат удален) ...
Что я могу сделать, чтобы вернуть целое число в основной код из диалоговой кнопки? Нет кодаошибки или предупреждения, это просто не работает, как я надеялся ...
public class Maincode extends Activity {
public static String rtndMessage = "Push Button";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView text = (TextView) findViewById(
R.id.TextView01);
final Button doIt = (Button) findViewById(R.id.Button01);
// -----------------------------------------------------
doIt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// do something
Dialog1(); // call Dialog1
}
}); // end -----------------------------------------------
// do the rest of the code (ie, display the result of doIt)
text.setText(rtndMessage); // set text w/result
}//end onCreate ----------------------------------------------
public void Dialog1() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Dialog Test");
builder.setIcon(R.drawable.redtest);
// chain the following together
builder.setMessage("Send text: Yes, No, Cancel")
// the positive action ----------------------------------
.setPositiveButton("Yes Action", new
DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id){
Maincode.rtndMessage = "sent Yes back";
}
})
// The negative action ----------------------------------
.setNegativeButton("No Action", new
DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id){
Maincode.rtndMessage = "sent No back";
}
})
// The negative action ------------------------------
.setNeutralButton("Cancel", new
DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id){
Maincode.rtndMessage = "sent N/A back";
dialog.cancel(); // just return to activity
}
});
builder.show ();// показать диалог} // конец диалога} // конец действия