2017-01-22 52 views
-1

我有一个按钮,当用户点击时,它动态地添加editTexts'和一个可点击的TextView(“X”),它应该删除其对应的editText到它的布局。创建的editTexts和TextView的数量取决于按钮被点击的次数。但是我现在想删除EDITTEXT当我点击可点击的TextView(“X”)删除特定的动态创建的EditText

View.OnClickListener generate = new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     for (int i = 0; i < count; i++) { 
      addEdits = new EditText(getSymptomsActivity.this); 
      cancel=new TextView(getSymptomsActivity.this); 
      addEdits.setLayoutParams(new ActionBar.LayoutParams(400, 79)); 
      addEdits.setText(""); 
      cancel.setText("X"); 
      platform.addView(addEdits); 
      platform.addView(cancel); 
      values.add(addEdits); 
      cancel.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 

        for(int j = count; j>0 ; j--){ 
         platform.removeView(addEdits); 
         //values.remove(addEdits); 
         cancel.setVisibility(TextView.GONE); 
        } 
       } 
      }); 

问题的时刻是,当点击可点击的TextView(“X”)时,它只会删除最后创建editText并且只有那个。

+5

贴子提示:我们喜欢修剪标准样板文字,“请帮助我”就是其中之一。有用的阅读:[这里](https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual-question)和[这里](https:// meta.stackoverflow.com/questions/255196/remove-help-please-from-titles)。此外,由于这是一个帮助网站,因此添加“请帮助”有点多余,并且可能会被视为一种乞求的形式。 – halfer

回答

0

您应该致电setId()给予EditTextTextView唯一ID并在您想要删除它们时致电findViewById()

+0

但视图不是通过XML创建具有独特的Ids,所以他们冲突时,通过循环创建视图 – mcprilla79

+0

嗨,你可以看看这个线程'http://stackoverflow.com/questions/1714297/ Android的视图setidint-ID-编程知识对避免-ID-冲突,你可以用'setTag()'在代替,它需要一个字符串,所以你可以把你自己的东西。 – WenChao

+0

,这有助于。请任何其他想法? – mcprilla79