简单的Android应用程序停止错误

时间:2013-06-25 09:11:03

标签: android android-intent

MainActivity

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button me = (Button)findViewById(R.id.button2);
        me.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent page = new Intent(view.getContext(),Activity2.class);
                startActivityForResult(page,0);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }


}

活性2

public class Activity2 extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.myinfo);
    }
}

在activity_main.xml中,我创建了一个按钮。我想打开一个新的活动myinfo,它有一些文字。但是当我按下按钮时它会显示一个错误“不幸的是,应用程序已停止”。我是什么意思应该这样做。我已经读过我需要阅读日志,但它很安静复杂。我怎么调试?我正在使用android Studio。

4 个答案:

答案 0 :(得分:0)

您需要使用startActivity而不是startactivityforresult。以下是正确的方法。

  me.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent page = new Intent(MainActivity.this,Activity2.class);
                    startActivity(page);
                }
            });

您需要在AndroidManifest.xml

中声明活动2

答案 1 :(得分:0)

首先声明您在清单文件中添加的新活动,在Application Tag中,您在应用程序中添加的所有活动都必须在清单文件中声明。

其次,使用

 Intent i = new Intent(FirstAct.this,SecondAct.class);
                    startActivity(i);

从第一个活动转移到第二个活动。

答案 2 :(得分:0)

 Intent page = new Intent(getApplicationcontext,Activity2.class);
 startActivityForResult(page,0);

答案 3 :(得分:0)

您正在尝试从视图中获取上下文并使用该上下文打开活动...它不会以这种方式工作..您需要传递当前Activity或Fragment的上下文,然后在创建时传递它意图

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(CurrentActivity.this,ToNavigateActivity.class);
                startActivity(intent);
            }
        });