如何从TextView启动活动?

时间:2012-02-26 01:09:41

标签: android android-activity android-intent textview

我有一个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)

所以有什么想法吗? 非常感谢你。

4 个答案:

答案 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

之后错过了这个问题