首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于TextView的Android - setOnClickListener

用于TextView的Android - setOnClickListener
EN

Stack Overflow用户
提问于 2013-07-13 21:35:40
回答 5查看 82.2K关注 0票数 17

这应该是直截了当的,但我不确定哪里出了问题。我试着用以下命令来捕捉TextView上的点击:

public void runNextTask(){
    final View addView = getLayoutInflater().inflate(R.layout.addnewtracker, null);
    final TrackerInfo newInfo = new TrackerInfo();
    //set up for model selection
    TextView modelTextview = (TextView)addView.findViewById(R.id.modelEdit)

    modelTextview.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });
}

用于TextView的XML是:

<TextView
    android:id="@+id/model"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/Tracker_model" 
    android:clickable="true"
    android:onClick="onClick"/>

但是当我单击TextView时,它并没有进入onClick()方法。我遗漏了什么?

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-07-13 21:42:05

您可以删除以下内容:

android:onClick="onClick"

或者,删除以下内容:

modelTextview.setOnClickListener(new OnClickListener() {
    @Override
     public void onClick(View v) {

     }
});

并拥有以下内容:

public void onClick(View v)
{
    // do something
}  

android:onClick="onClick"/> //为了避免混淆,最好重命名该方法

此外,您还拥有以下内容:

<TextView
     android:id="@+id/model" // id is model

所以初始化你的TextView如下所示:

TextView modelTextview = (TextView)addView.findViewById(R.id.model);
票数 40
EN

Stack Overflow用户

发布于 2013-07-13 21:40:41

这一行:android:onClick="onClick"告诉Android在activity中查找带有这个签名的方法:

public void onClick(View v)

这不是您的本意,因为您已经在代码中设置了OnClickListener,并且没有在活动中为它创建专用方法。因此,您的选择要么是简单地从xml文件中删除android:onClick="onClick",要么删除已创建的单击监听器并将其更改为onClick方法(最好将其名称更改为比onClick更好的名称……

票数 4
EN

Stack Overflow用户

发布于 2018-11-16 15:49:13

 super.onCreate(savedInstanceState);
 setContentView(R.layout.other_activity);
 findViewById(R.id.TextView).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {

    }
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17630697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档