Java 意图:要启动活动,无法启动第二个活动

Java 意图:要启动活动,无法启动第二个活动,java,android,android-intent,Java,Android,Android Intent,应用程序的目标是在第一个活动中编写消息,单击按钮后,此消息将出现在第二个活动中。 但在智能手机上安装应用程序后,当我点击按钮时,会出现一条消息,说“应用程序已停止”。请帮帮我。“我使用ECLIPSE开发这个应用程序” 第一个活动代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.o

应用程序的目标是在第一个活动中编写消息,单击按钮后,此消息将出现在第二个活动中。 但在智能手机上安装应用程序后,当我点击按钮时,会出现一条消息,说“应用程序已停止”。请帮帮我。“我使用ECLIPSE开发这个应用程序”

第一个活动代码:

public class MainActivity extends Activity {

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

    public void login (View view) {


        EditText user = (EditText) findViewById(R.id.user);
        EditText password = (EditText) findViewById(R.id.password);
        Intent myintent= new Intent (getApplicationContext(),Main2Activity.class);  //permet de basculer de cette interface à la 2éme aprés avoir éxécuter "startActivity(myintent)";

        Bundle b=new Bundle();
        b.putString("username", user.getText().toString());
        b.putString("password", password.getText().toString());
        myintent.putExtras(b);
        startActivity(myintent);
}
第二项活动:

public class Main2Activity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        TextView mes=(TextView)findViewById(R.id.mes);

        Bundle b=getIntent().getExtras();
        string user=(string) b.get("username");
        string pass=(string) b.get("password");
        mes.setText("user:"+user  +"password:"+pass);

}
换行

Intent myintent= new Intent (getApplicationContext(), Main2Activity.class)


看看它是否解决了问题:)

尝试一种更简单的方法,以字符串形式传递数据,而不使用bundle

MainActivity.java

Intent i= new Intent(MainActivity.this,Main2Activity .class);
i.putExtra("username",user.getText().toString());
i.putExtra("password",password.getText().toString());
startActivity(i);
String name=getIntent().getExtras().getString("username");
txtView.setText(name);
String pass=getIntent().getExtras().getString("password");
txtView2.setText(pass);
Main2Activity.java中

Intent i= new Intent(MainActivity.this,Main2Activity .class);
i.putExtra("username",user.getText().toString());
i.putExtra("password",password.getText().toString());
startActivity(i);
String name=getIntent().getExtras().getString("username");
txtView.setText(name);
String pass=getIntent().getExtras().getString("password");
txtView2.setText(pass);

第二个活动(Main2活动)文件中:

后面的队伍
Bundle b=getIntent().getExtras()

您编写了
(字符串)
,而不是
(字符串)
。 如果你写错了,请把它改一下

而@AugustoCarmo的答案也是正确的


也可以试试。

显示日志猫消息确保
Main2Activity
已在
AndroidManifest.xml
中定义,欢迎使用堆栈溢出。阅读本文了解如何提出一个好问题,我使用ECLIPSE开发了这个应用程序。当您看到应用程序已经停止时,后面肯定会出现一些异常。尝试调试应用程序并查看logcat。Logcat将帮助您解决问题。这个答案没有任何区别!谢谢你的回答,我以前试过,但我也遇到过同样的问题。谢谢,现在可以用了。但是为什么wokr不使用Bundle呢?捆绑的好处是什么?谢谢