Android startActivity with intent不';行不通

Android startActivity with intent不';行不通,android,android-layout,android-event,Android,Android Layout,Android Event,我有一个倒计时,它显示了我想进入错误屏幕的时间 这是倒计时的代码 timer = new CountDownTimer(36000, 1000) { @Override public void onTick(long millisUntilFinished) { // TODOAuto-generated method stub remaingTimer.setText(millisU

我有一个倒计时,它显示了我想进入错误屏幕的时间 这是倒计时的代码

timer = new CountDownTimer(36000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {
                // TODOAuto-generated method stub
                remaingTimer.setText(millisUntilFinished + "");
            }

            @Override
            public void onFinish() {
                // TODO Auto-generated methodstub
                Intent goToMainTabs = new Intent(
                        "com.localizedbasedcompetition.FINISHTIME");
                startActivity(goToMainTabs);
            }
        };
我想转到finishtime活动,这是finishtime活动的代码

public class FinishTime extends Activity implements OnClickListener{
    Button backToMain;
    TextView errorMessage;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.finishtime);
        initialize();
    }
    private void initialize() {
        // TODO Auto-generated method stub
        backToMain= (Button)findViewById(R.id.bFinishTimeBackToMain);
        errorMessage=(Button)findViewById(R.id.tvFinishTime);
        backToMain.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.bFinishTimeBackToMain:
            Intent goToMainTabs = new Intent(
                    "com.localizedbasedcompetition.MAINTABS");
            startActivity(goToMainTabs);
            break;

        default:
            break;
        }
    }

}
<activity
            android:name=".FinishTime"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.localizedbasedcompetition.FINISHTIME" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
这是finishtime活动的主要节日

public class FinishTime extends Activity implements OnClickListener{
    Button backToMain;
    TextView errorMessage;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.finishtime);
        initialize();
    }
    private void initialize() {
        // TODO Auto-generated method stub
        backToMain= (Button)findViewById(R.id.bFinishTimeBackToMain);
        errorMessage=(Button)findViewById(R.id.tvFinishTime);
        backToMain.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.bFinishTimeBackToMain:
            Intent goToMainTabs = new Intent(
                    "com.localizedbasedcompetition.MAINTABS");
            startActivity(goToMainTabs);
            break;

        default:
            break;
        }
    }

}
<activity
            android:name=".FinishTime"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.localizedbasedcompetition.FINISHTIME" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
您需要在倒计时上调用start()。否则它什么也做不了

根据您的异常,您在XML中定义了一个
TextView
,您意外地将它转换为其他内容(是您的
按钮
cast吗?),如果不看到XML就无法分辨,但这就是异常。确保在Java中正确引用视图,就像在XML中定义视图一样


哦,正如伊南所指出的,在你修复之后,清理你的项目以防万一。Eclipse有一种不经常更新此类内容的恶劣方式。

我怀疑您需要在onFinish定义中调用super.onFinish()。另外,粘贴日志内容,以便我们可以看到您遇到的异常以及导致异常的原因。@Dr.Dredel您的意思是我必须进行
super.onFinish()
?但这种方法不可行exist@iNan,不,事实上是对的。使用intent name.change errorMessage=(Button)findviewbyd(R.id.tvFinishTime)时不需要上下文;to errorMessage=(TextView)findViewById(R.id.tvFinishTime);在初始化中,我确实这样做了,但我没有告诉你,我的问题是当计时器完成计数时,我可以看到计时器工作,并在屏幕上每隔1秒打印剩余时间,但是当没有剩余时间时,计时器调用finish方法,这里我得到了一个异常,我用例外项更新了问题,请参见我的编辑,然后给我绿色复选标记,欢迎使用Stack!:)是的,伙计,errorMessage是textView,但我将其转换为按钮:)谢谢,欢迎光临!堆栈跟踪是查找问题所在的好地方:)异常。这就是它的名字