使用Intents崩溃应用程序

时间:2013-06-11 07:56:48

标签: android eclipse android-4.2-jelly-bean

我正在尝试创建一个有按钮的活动,点击另一个活动开始。但是当我在Android AVD上运行应用程序时,它显示错误“不幸的是你的应用程序已停止”。

package com.example.myapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.content.Intent;

public class MainActivity extends Activity implements View.OnClickListener {

    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=(Button)findViewById(R.id.button1);
        btn.setOnClickListener(this);
    }

    public void onClick(View view){
        startActivity(new Intent("com.example.myapp.SecondActivity.java"));
    }
}

第二个活动有以下代码:

package com.example.myapp;

import android.app.Activity;
import android.os.Bundle;

public class SecondActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.secondactivity);
    }
}

logcat的

FATAL EXCEPTION: main >android.content.ActivityNotFoundException: 
    No Activity found to handle Intent
    { act=com.example.simpleapp.SecondActivity.java } 
android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622) 
android.app.Instrumentation.execStartActivity(Instrumentation.java:1417) 
android.app.Activity.startActivityForResult(Activity.java:3370) 
com.example.simpleapp.MainActivity.onClick(MainActivity.java:22) 
android.view.View.performClick(View.java:4204) 
android.view.View$PerformClick.run(View.java:17355)

我想我可能会遗漏一些陈述.....请指教

3 个答案:

答案 0 :(得分:1)

尝试Intent intent = new Intent(this,SecondActivity.class); startActivity(意向);

另请参阅您是否在AndroidManifest中声明了该活动。

答案 1 :(得分:0)

您是否更改了AndroidManifest.xml? 请在这里写日志。 您必须将活动添加到清单文件中。

答案 2 :(得分:0)

来自 documentation

  

<强> public Intent (Context packageContext, Class<?> cls)

     

为特定组件创建意图。所有   其他字段(action,data,type,class)为null,尽管它们可以   稍后用显式调用修改。这提供了一种方便的方法   创建一个旨在执行硬编码类名的intent,   而不是依靠系统来找到合适的类   您;有关的更多信息,请参阅setComponent(ComponentName)   这会产生影响。

<强> Parameters

packageContext
A Context of the application package implementing this class.

cls
The component class that is to be used for the intent.

代码:

public void onClick(View view){
             startActivity(new Intent(MainActivity.this, SecondActivity.class));
              }