我给 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啦