2 baby bonnie Baby_Bonnie 于 2013.02.22 18:00 提问

如何给 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,也没有得到错误信息。

5个回答

franzhong
franzhong   2013.02.23 13:51
已采纳

你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!");
        }
});
zlQQhs
zlQQhs   2013.02.25 23:08

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"/>
)
hxn_217
hxn_217   2013.02.25 09:56
 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);

    }
    }
aomandeshangxiao
aomandeshangxiao   2013.02.25 15:50

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

oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.07.27 21:27

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!