Номер текстового поля, эквивалентного для цикла в Android
Я хочу сгенерировать номер поля ввода в соответствии с циклом for, с помощью кнопки, которая должна вызывать метод, который будет обрабатывать введенные пользователем данные в поле ввода.
насколько я знаю, я не могу использовать диалоговые окна предупреждений, поскольку они асинхронны и не будут ждать ответа пользователя, я мог бы использовать метод, упомянутый выше, и посмотреть поведение. и предложение и совет не требуется. приведенный ниже код может дать больше идеи.
for(int x=0;x<vars.size();x++)
{
String get_var=vars.get(x).toString();//get the first item from array
replace(get_var,temp_t);//send the get_var to replace method
}
идея метода замены
replace(String get_var,String temp_t)
{
String y=(user input from the textbox, which has to be created dynamically)
if(button pressed) //created dynamically
process(y,temp_t)
}
пожалуйста, предложите, если есть какая-то другая работа лучше, чем то, что я думаю, должно работать, как удаление кнопки и обработка непосредственно [обновление]
for(int x=0;x<vars.size();x++)
{
String get_var=vars.get(x).toString();
get_vals_for_xy(get_var, temp_t);
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}//end of oncreate method
public void get_vals_for_xy(String get_var,String[][] temp_t) {
System.out.println("value of get_var is " + get_var);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText edittext = new EditText(this);
alert.setMessage("value is"+get_var);
alert.setTitle("Title");
alert.setView(edittext);
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String to_replace = edittext.getText().toString();
show(to_replace);
Toast.makeText(AssignValandFacts.this, to_replace, Toast.LENGTH_SHORT).show();
}
});
alert.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.show();
}
1 ответ
Вы можете запросить диалог для каждого элемента в цикле for и получить пользовательский ввод
boolean userResponseReceived=false;
//create a dialog
Dialog dialog=new Dialog(context);
//set dialog content view
//I just assume you have a button in dialog that says OK
Button okButton=(Button)dialog.findViewById(R.id.btnId);
okButton.setOnClickListener(new View.OnclickListener{
@Override
public void onClick(View v){
//userResponseRecieved is a instance variable
userResponseReceived=true;
}
});
for(int x=0;x<vars.size();x++){
//make a while loop to hold the for loop while user inserts data
//make a dialog box and handle user input
dialog.show();
while(!userResponseReceived){}
//continue with the for loop
dialog.dismiss();
userResponseReceived=false;
}