0

我需要通过单击开始一项新活动TextView。我的代码:

txtFirst = (TextView) findViewById(R.id.textView3);
txtFirst.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        if (indTxt == 3) {
            Intent intent = new Intent (this, ActSecond.class);
            startActivity(intent);
        }
    }
});

我按了Ctrl++ ,但 Eclipse 显示以下错误ShiftO

截屏

在这条线上:

Intent intent = new Intent (this, ActSecond.class);
startActivity(intent);

后:

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

那么一切都好...

4

2 回答 2

3

这里this不是指您的课程,而是指 OnClickListener,请尝试:

Intent intent = new Intent(ActFirst.this, ActSecond.class);

(假设这ActFirst是你班级的名字。)


另外我不知道你是否已经这样做了,但是:你需要clickable在 OnClickListener 工作之前设置一个 TextView 。

在 XML 中使用:

android:clickable="true"

或Java:

txtFirst.setClickable(true);
于 2012-11-09T17:46:45.470 回答
2

将当前活动或应用程序上下文而不是任何视图上下文作为第一个参数传递给意图构造函数(当前通过使用this您正在尝试将视图上下文传递给意图构造函数):

Intent intent = new Intent (Current_Activity.this, ActSecond.class);
startActivity(intent);

代替

Intent intent = new Intent (this, ActSecond.class);
startActivity(intent);
于 2012-11-09T17:47:57.497 回答