【问题标题】:How to add onclicklistener to dynamically generated text views如何将 onclicklistener 添加到动态生成的文本视图
【发布时间】:2013-08-25 21:50:26
【问题描述】:

我在我的应用程序中动态创建了 Textview。我想给这个 textviews 提供 On click 事件。当我点击 textview 时,我需要获取 textview 的 id ..

【问题讨论】:

  • 请放一些你的代码的sn-p。

标签: android textview onclicklistener


【解决方案1】:

你试试下面的代码。

TextView text = new TextView(this);

    text.setText("text here");
    ll.addView(text);
    text.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "ID : "+arg0.getId(), Toast.LENGTH_SHORT).show();
        }
    });

在那个“ll”是布局,它添加了文本视图,然后添加了点击事件的点击监听器()。

希望这对您有用。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:
      TextView textView = new TextView(this);
      // Set up your text view
      textView.setId(1); // Any number is ok
      textView.setOnClickListener(new OnClickListener(){
          public void onClick(View v) {
              int id = v.getId(); // This is the id you want
              // Do whatever you want here
          }
      });
      

      【讨论】:

      • 任何数字都不行。如果您设法以某种方式为已添加的视图提供相同的 ID 怎么办?
      【解决方案4】:

      如果您是动态创建TextViews 而不是仅仅实现OnClickListener

      import android.view.View;
      import android.view.View.OnClickListener;
      
      public class MyClickListener implements OnClickListener {
      
          @Override
          public void onClick(View v) {
              int vId = v.getId();
      
          }
      
      }
      

      并将其设置为动态创建的视图,如下所示:

      private TextView createTextView(int vId) {
          TextView textView = new TextView(this);
          textView.setId(vId);
          textView.setOnClickListener(myClickListener);
          return textView;    
      }
      

      P.S.:不要忘记在您的 Activity 中创建和初始化 myClickListener

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多