在Clickable TextViews背后实现代码

时间:2011-03-02 01:17:28

标签: android

我刚刚开始在Eclipse中使用可点击的TextViews。下面代码中的行:

t2.setOnClickListener(this); seems to be having a problem.  

我尝试了各种方法,比如setOnTouchListener等来处理用户点击我的TextViews的点击事件,但我无法确定哪个方法(如果有的话)适合可点击的TextViews。

public class Soundboard extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.soundboard);

      TextView t2 = (TextView) findViewById(R.id.textView5);
      t2.setFocusable(true);
      t2.setOnClickListener(this);

      t2.setOnClickListener(new View.setOnClickListener() {
          public void onClick(View view) {
            mp.start();
          }
      });


    }

    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub

    }
}

2 个答案:

答案 0 :(得分:0)

在上面的代码中,您将onClickListener设置两次,这是不必要的。第二次设置它将覆盖第一次,点击的结果应该是执行mp.start();

您能更详细地描述一下您的问题是什么吗?运行应用程序时会发生什么或不发生什么?

答案 1 :(得分:0)

TextView t2 = (TextView) findViewById(R.id.textView);
t2.setOnClickListener(new View.setOnClickListener() {
  public void onClick(View view) {
    mp.start();
  }

});

OR

TextView t2 = (TextView) findViewById(R.id.textView);
t2.setOnClickListener(this);

@Override
public void onClick(View v) {
    if(v == t2){
    // logic 
    }
}

这是设置点击侦听器的正确方法。