【问题标题】:how to make text view clickable in android?如何在android中使文本视图可点击?
【发布时间】:2011-09-07 18:36:13
【问题描述】:

是否有可能在 android 中使文本视图可点击,如果是,那么如何??如果不是,那么使标签可点击的方法是什么??我想使用这个实现调用活动

private void call() {
     try {
         Intent callIntent = new Intent(Intent.ACTION_CALL);
         callIntent.setData(Uri.parse("tel:"+keywordxmlparsing.phone));
         startActivity(callIntent);
     } catch (ActivityNotFoundException activityException) {
         Log.e("dialing-example", "Call failed", activityException);
     }
 }

提前感谢您的回复...

【问题讨论】:

标签: android


【解决方案1】:
textView.setOnClickListener(new View.OnClickListener());

你试过了吗?

【讨论】:

    【解决方案2】:

    您可以为 texview 设置一个 onclick 侦听器,例如 button.infact 按钮从 textview 继承属性。

    【讨论】:

      【解决方案3】:

      我们还可以在TextView 上获得点击事件,与ButtonImageView 相同。

      所有视图的方法也相同。

      喜欢

      view.setOnClickListener(new View.OnClickListener() {
      
                  @Override
                  public void onClick(View v) {
                      // TODO Auto-generated method stub
      
                  }
              });
      

      【讨论】:

        【解决方案4】:

        试试这个:

        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
        
            }
        });
        

        【讨论】:

          【解决方案5】:

          首先在您的 java 文件中通过 xml id 转换您的 TextView

          TextView tv = (TextView)findViewById(R.Id.textView1);
          

          那么,

          tv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                // TODO Auto-generated method stub
             }
          });
          

          【讨论】:

            【解决方案6】:

            虽然你问问题是很久以前的事了。但我认为实现你想要的正确方法是设置 TextView xml 属性 android:autoLink。例如:

            <TextView 
                ...
                android:autoLink="phone" />
            

            【讨论】:

              【解决方案7】:

              直接在 XML 中更容易:使用 clickable = true

              <TextView
                              android:id="@+id/forgotPassword"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:layout_gravity="center_horizontal"
                              android:layout_marginTop="10dp"
                              android:text="@string/forgotPassword"
                              android:onClick="forgotPassword"
                              android:clickable="true"
                              />
              

              【讨论】:

              • 您也可以使用 XML 进行“长按”吗?
              【解决方案8】:

              老实说,我发现一个扁平按钮更适合我使用 RecyclerView 所做的工作:

              <Button
              android:id="@+id/btnFoo"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              style="?android:attr/borderlessButtonStyle"/>
              

              来源:https://stackoverflow.com/a/30884132/2328637

              然后自定义按钮以适合我的布局,最后在onCreate 下的 MainActivity.java 中添加以下内容:

              Button btnFoo = (Button) findViewById(R.id.btnFoo);
              btnFoo.setOnClickListener(new View.OnClickListener() {
              
                 @Override
                 public void onClick(View v) {
                    Intent intent = new Intent(MainActivity.this, FooActivity.class);
                    startActivity(intent);
                 }
              });
              

              【讨论】:

              • 这就是我要找的。谢谢:)
              【解决方案9】:

              试试这个:-

              实现 View.OnClickListener,然后简单地应用 switch case 并在 case 中定义文本视图的 id 并传递意图。

              例子:-

                   @Override
               public void onClick(View v) {
                  //TODO Auto-generated method stub
              
                 switch (v.getId()) {
              case R.id.textView:
                  startActivity(new Intent(this,CalledClass.class));
              
                  break;
              
              default:
                  break;
              }
              

              //这里的textView是我选择的textView的id。

              【讨论】:

                【解决方案10】:

                在该 TextView 的 xml 中包含该字段

                android:onClick="functionName"
                

                然后在与该 xml 关联的 java 文件中包含此函数

                public void functionName(View view){
                // do your stuff
                }
                

                【讨论】:

                  【解决方案11】:

                  TextView 也是从 View 派生出来的,比如 EditText、ListView 等,所以我们可以使用

                  textView.setOnClickListener(new View.OnClickListener());
                  

                  【讨论】:

                    猜你喜欢
                    • 2018-09-14
                    • 2019-09-07
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2017-02-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-10-31
                    相关资源
                    最近更新 更多