2017-01-22 5 views
-1

ユーザがクリックすると、editTextsとその対応するeditTextを削除すべきクリック可能なTextView( "X")をレイアウトに動的に追加するボタンがあります。作成されたeditTextsとTextViewの数は、ボタンがクリックされた回数に基づいています。しかし、私は今、私はクリック可能なの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); 
        } 
       } 
      }); 

問題をEDITTEXTを削除するには、クリック可能なのTextView(「X」)がクリックされたときに、それが唯一の削除、ということです最後に作成されたのはeditTextだけです。

+5

投稿用のヒント:私たちは質問から標準的な定型文を整えたいと思っています。参考になる:[here](https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual-question)と[here](https:// meta.stackoverflow.com/questions/255196/remove-help-please-from-titles)。さらに、これはヘルプサイトであるため、「助けてください」と追加することはいくぶん冗長であり、募集の一形態として読むことができます。 – halfer

答えて

0

setId()に電話して、EditTextTextViewのユニークIDを取得し、削除する場合はfindViewById()に電話する必要があります。

+0

しかし、ビューはxmlを通じて一意のIDを持つように作成されないので、ループを介してビューが作成されたときに競合することはありません。 – mcprilla79

+0

こんにちは、このスレッドを見ることができます 'http://stackoverflow.com/questions/1714297/ android-view-setidint-id-programmatically-id-conflict-how-to-avoid-id-conflicts 'では、代わりに 'setTag()'を使うことができます。 – WenChao

+0

その助けが助けてください。他のアイデアをお願いしますか? – mcprilla79

関連する問題