如何给 TextView 设置 Listener ?

我给 Listener 设置了监听器,但是不好用。我想单击文本后开启 activity。 我把我使用的代码帖出来,大家看看怎么改呢?

public void onClick(View v) {
        // TODO Auto-generated method stub

        int i = v.getId();
    //String roomName = textView[i].getText().toString();
    //Intent intentDeviceOperation = new Intent(v.getContext),DeviceOperation.class);
    //startActivity(intentDeviceOperation);

    //Intent i1 = new Intent(v.RoomForSpecificUser.this,DeviceOperation.class);
    //RoomForSpecificUser.this.startActivityForResult(i1,7);
    Intent ii = new Intent();
    ii.setClass(RoomForSpecificUser.this, DeviceOperation.class);
     }

不是启动另一个 activity,也没有得到错误信息。

你setClass未有执行,只需添加这句

startActivity(intent);

以下内容为参考内容

myTV.setText(finalresult);  
myTV.setClickable(true);
//myTV.setFocusable(true);
myTV.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            System.out.println("You Click the textView!");
        }
});
 class RoomForSpecificUser extends Service implements OnClickListener{
    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.textView);

    tv.setOnclickListener(this);


        }
    public void onClick(View v) { // TODO Auto-generated method stub

        int i = v.getId();
    //String roomName = textView[i].getText().toString();
    //Intent intentDeviceOperation = new Intent(v.getContext),DeviceOperation.class);
    //startActivity(intentDeviceOperation);

    //Intent i1 = new Intent(v.RoomForSpecificUser.this,DeviceOperation.class);
    //RoomForSpecificUser.this.startActivityForResult(i1,7);
    Intent ii = new Intent();
    ii.setClass(RoomForSpecificUser.this, DeviceOperation.class);

    }
    }

你忘记写:
startActivity(intent)
这一句了,Button继承字textview。其onclick事件好像是在textview中定义(记不太清楚了。。)所以可以为textview设置单击监听事件。

1.在你的xml布局文件中,找到你要点击的TextView,添加属性android:onclick="startActivity"
2.在java代码中添加以下代码:

public void startActivity(View v){
    Intent intent = new Intent();
    intent.setClass(RoomForSpecificUser.this, DeviceOperation.class);
    startActivity(intent);
}

(

这样写你可以不用findViewById从布局中取出控件
AndroidManifest.xml的<application></application>
中要加入

<activity android:name="DeviceOperation"/>
)

没用调用startActivity(intent);就不会去拉起另一个Activity啦