在每个项目旁边设置编辑文本,该文本从数组填充

时间:2011-12-22 07:04:07

标签: android

我有一个像图中所示的对话窗口,我要求在每个项目旁边添加一个EditText(以获取数量),任何可能的方法来实现这一目标......?

want to add EditText next to every item

我尝试创建单独的视图并将其设置为AlertDialog,但在底部获取单个edittext ..

是否有任何可能的方法可以在清单中的每个项目旁边添加EditText,因为这里的项目是从一个Array Items []填充,带

      DialogInterface.OnMultiChoiceClickListener itemsDialogListener = 
      new DialogInterface.OnMultiChoiceClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
            if(isChecked)
                selectedItems.add(Items[which]);
            else
                selectedItems.remove(Items[which]);
                                    StringBuilder stringBuilder = new StringBuilder();

                            for(CharSequence item : selectedItems)
                        stringBuilder.append(item + ",");

                            selectItems.setText(stringBuilder.toString());
        }
    };

AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater li=LayoutInflater.from(this);
View v1=li.inflate(R.layout.itementry, null);//itementry view has one EditText
builder.setTitle("Select Items");
builder.setMultiChoiceItems(colours, checkedItems, itemsDialogListener);
builder.setView(v1);    //By setting this line only one EditText is visible at 
                              the bottom of alert dialog.   
AlertDialog dialog = builder.create();
dialog.show();      

2 个答案:

答案 0 :(得分:0)

你可以在对话框视图中使用自定义布局来实现它可能与listview&您的阵列适配器

答案 1 :(得分:0)

     Use this code to create Edit Text



     final AlertDialog.Builder alert = new AlertDialog.Builder(this);
     final EditText input = new EditText(this);
     alert.setTitle("Enter the Number of Items");
     alert.setView(input);
     //final String s=input.getText().toString();
     alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() 
     {
      public void onClick(DialogInterface dialog, int whichButton) 
      {
        int i=arg2;
        values[i]= input.getText().toString().trim();
      }
     });
     alert.show();