2016-09-15 114 views
-3

該應用程序旨在在第一個活動中編寫消息,並且在單擊按鈕後,此消息出現在第二個活動中。 但是在智能手機上安裝應用程序後,當我點擊按鈕時,出現一條消息說「應用程序已停止」。 。請幫助我 「我用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); 

} 
+1

顯示您的logcat消息 – Anjali

+2

請確保'Main2Activity'在您的'AndroidManifest.xml'中定義了 –

+1

歡迎使用堆棧溢出。閱讀此如何問一個好問題http://stackoverflow.com/help/how-to-ask –

回答

1

嘗試一個更簡單的方法將數據作爲一個字符串傳遞,而不使用捆綁。

MainActivity.java

Intent i= new Intent(MainActivity.this,Main2Activity .class); 
i.putExtra("username",user.getText().toString()); 
i.putExtra("password",password.getText().toString()); 
startActivity(i); 

Main2Activity的.java

String name=getIntent().getExtras().getString("username"); 
txtView.setText(name); 
String pass=getIntent().getExtras().getString("password"); 
txtView2.setText(pass); 
+0

謝謝,它現在有效。但爲什麼不使用Bundle?包的優點是什麼? thk you –

+0

http://stackoverflow.com/questions/4999991/what-is-a-bundle-in-an-android-application – kgandroid

0

改變這一行

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

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

,看看它是否解決了問題:)

+2

這個答案沒有什麼區別! – Piyush

+0

謝謝你的回答,我以前試過,但是il是同樣的問題。 –

0

在您次活動(Main2Activity)文件:

行之後 Bundle b=getIntent().getExtras();

你寫的是(string)而不是(String)。 所以請改變它...如果你寫錯了。

和@AugustoCarmo的回答也是正確的。

也試試。