2012-09-30 21 views
-1

我是android新手,我用下面的代码动态创建editText,同时点击添加新按钮。可以在editText附近添加一个删除按钮,这样每个按钮都可以点击删除editText将被删除?用动态生成的editText添加删除选项

btnAddNew.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      LinearLayout rAlign = (LinearLayout)findViewById(R.id.lId); 
      EditText newPass = new EditText(getApplicationContext()); 
      allEds.add(newPass); 
      newPass.setHint("Name of Label"); 
      newPass.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
      newPass.setWidth(318); 
      newPass.setTextColor(Color.parseColor("#333333")); 
      newPass.setId(textb); 

      rAlign.addView(newPass); 
      MY_BUTTON ++;    
      addSpinner();    
     } 
    }); 
+0

是的,这是很容易可以用开关 - case语句和View Item的ID(这表示按钮的ID和EditText的ID)。我会在一分钟后发布一些代码如何做到这一点 –

+0

@Jan Koester感谢帮助朋友:)等待你的代码:) – user1708870

+0

好吧,你想删除整个editText,而不是它的文本,我读这个错误。 –

回答

0

是,在同一时间,你的EditText创建删除按钮,使用removeView()方法就像addView()方法,也许是这样的:

btnAddNew.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     ... 
     rAlign.addView(newPass); 
     MY_BUTTON ++;    
     addSpinner(); 

     Button btnRemoveOld = new Button(this); 
     btnRemoveOld.setId(32); // arbitrary number 
     btnRemoveOld.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       LinearLayout rAlign = (LinearLayout)findViewById(R.id.lId); 
       rAlign.removeView(findViewById(textb)); 
      } 
     });  

     // You will need to set parameters to define how the button looks 
     // and where it is in relation to the EditText here 
     rAlign.addView(btnRemoveOld); 
    } 
}); 
+0

嗨@Sam thnks :)让我试试:) – user1708870

+0

哎呀,我忘了用'rAlign.addView(btnRemoveOld)将这个按钮添加到布局中;'' – Sam