2011-11-17 63 views
0

我試圖將數據從一個頁面傳輸到另一個頁面,但是一些問題即將到來。下面是code.its強制關閉我正在按第二頁按鈕後如何在Android中將數據從一個屏幕傳輸到另一個屏幕?

這裏我第一個程序的應用程序:

package com.life.insurance; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
/*import android.view.Menu;*/ 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 


public class LifeInsuranceActivity extends Activity implements OnClickListener{ 
/* private static final int MENU_STARS = 1; 
    private static final int MENU_REFRESH = 2;*/ 
    Context mCtx; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button submit =(Button)findViewById(R.id.button1); 
     submit.setOnClickListener(this); 
    } 


    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     switch (v.getId()){ 
     case R.id.button1: 
      mCtx = this; 

      String intext = new String(); 
      intext=((EditText)findViewById(R.id.editText1)).getText().toString(); 

       Intent myIntent = new Intent(mCtx, MenuSelection.class); 
       Bundle bundle = new Bundle(1); 
       bundle.putString("ganna", intext); 
       myIntent.putExtras(bundle); 

       /*Start Activity*/ 
       mCtx.startActivity(myIntent); 

       /*Start ActivityForResult*/ 
       ((Activity)mCtx).startActivityForResult(myIntent, 2); 

      setContentView(R.layout.menuselection); 
      break;  
     } 
    } 
} 

這是我的第二個活動

package com.life.insurance; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 

public class MenuSelection extends Activity implements OnClickListener{ 
    String ot; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.menuselection); 
     Button search =(Button)findViewById(R.id.imageButton1); 
     search.setOnClickListener(this); 
     Bundle extras = this.getIntent().getExtras(); 
     ot =extras.getString("ganna").toString(); 
     final TextView r =(TextView)findViewById(R.id.txt1); 
     r.setText(ot); 

    } 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()){ 
    case R.id.imageButton1: 


     break; 

    } 
    } 

} 

請幫我做到這一點

+1

有沒有logcat stacktrace,你可以發佈它嗎? –

+0

你可以發佈Logcat中顯示的任何錯誤嗎?你還記得在androidmanifest文件中聲明你的第二個活動嗎? –

+1

我們需要logcat輸出,你可以用輸出編輯帖子嗎? – Aracem

回答

3

沒有logcat轉儲很難回答,但我認爲有幾件事要檢查。首先,發送一個字符串應該是直截了當:

intent.putExtra("key", "value"); 

如果你想發送複雜的對象或包,你可以這樣做,但我堅持你的發送和閱讀字符串的問題。

getIntent().getStringExtra("key") 

我覺得在你的情況下使用Bundle是沒有必要的。

其次,您正在調用startActivity和startActivityForResult。打電話給另一個人。既然你正在尋找答案,你可能想使用後者。

最後,請確保您已將第二個活動添加到清單中,如下所示。您還想在啓動後續活動時使用活動的上下文,而不是按鈕。

這裏似乎有幾個問題可能導致崩潰。

相關問題