0

私のアプリケーションでは、配列を使用してテキストビューを動的に追加し、それぞれにカウント変数を指定してIDを指定しました。これは、テキストビューの追加に応じてカウントを増やします。各テキストビューのonClickListenerで、いくつかの操作を実行したいのですが、しようとしているときこの操作はすべてのテキストビューで実行されます。以下はコードです。何が間違っているのかわかりません。助けてください。

// here i have added textview dynamically
       mtxtview[colTextCount]=new TextView(this);
       mtxtview[colTextCount].setId(colTextCount);
       mtxtview[colTextCount].setLayoutParams(new LayoutParams(20,20));

そしてonclickListenerで-

@Override
public void onClick(View v) {
    System.out.println("onclick...");

    for(jj=0;jj<_mTextViewId;jj++){
        String hh=mtxtview[jj].getText().toString();
        System.out.println("................................."+hh);     
        System.out.println("id is...."+_mTextHeight[jj].getId());
    //if i added 3 textview.its giving me all 3 textview's text(getText())  

    }

           }
4

2 に答える 2

1

switch-casefor loop を開始する前に、 とを使用して、View.getId()どの TextView がクリックされたかを確認します。次のように試してください:

@Override
public void onClick(View v) {
    System.out.println("onclick...");
    switch(v.getId())
     {
       case _mTextViewId:  
         for(jj=0;jj<_mTextViewId;jj++){
          String hh=mtxtview[jj].getText().toString();
          System.out.println("................................."+hh);     
          System.out.println("id is...."+_mTextHeight[jj].getId());

         }
       break ;

      // same for others....       

    }

 }
于 2013-03-05T11:13:17.300 に答える