我有一个TextView,我想点击它来启动其他活动。那可能吗? 我尝试了(错误的)代码,因为我真的找不到解决方案:
TextView tv= (TextView)findViewById(R.id.souple);
tv.setOnClickListener(new View.OnClickListener{
public void onClick(View v){
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
}
});
错误:Syntax error on token(s), misplaced construct(s)
所以有什么想法吗? 非常感谢你。
答案 0 :(得分:2)
您必须在Intent构造函数中通过this
引用当前活动。您应该将其更改为YourActivity.this
以避免暧昧。
答案 1 :(得分:0)
在OnClickListener中,'this'是监听器,而不是Activity。因此,您需要在Activity类中创建一个Context变量并将其设置为this,然后在您的侦听器中使用它。
Context c = this;
OnClickListener....{
new Intent(c, OtherActivity.class)
}
答案 2 :(得分:0)
我们走了,我终于找到了解决方案:
public class ServicesPlus extends Activity {
TextView t ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.servicesplus);
t = (TextView) findViewById(R.id.souple);
t.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(ServicesPlus.this, "Test", Toast.LENGTH_SHORT).show();
} });
}
}
答案 3 :(得分:0)
你在View.OnClickListener