2011-11-17 6 views
0

あるページから別のページにデータを転送しようとしていますが、問題が発生しています。これは私の第二の活動はアンドロイドで画面間でデータを転送するにはどうすればいいですか?

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; 

    } 
    } 

} 

は、私を助けてください

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;  
     } 
    } 
} 

である:以下、私は

ここに私の最初のプログラムを2ページボタンを押していた後、アプリを閉じるcode.its力がありますこれを行う

+1

logcat stacktraceはありますか?投稿できますか? –

+0

Logcatに表示されるエラーを投稿できますか?また、androidmanifestファイルで2番目のアクティビティを宣言するのを忘れましたか? –

+1

私たちはlogcat出力が必要です、あなたは出力を使って投稿を編集できますか? – Aracem

答えて

3

ログキャッチダンプなしで答えるのは難しいですが、私はチェックするべきことがいくつかあると思います。あなたは複雑なオブジェクトまたはバンドルを送信する場合は、あなたがそれを行うことができます

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

が、私は文字列を送信し、読みの問題にこだわっています:まず、文字列を送信することはまっすぐでなければなりません。

getIntent().getStringExtra("key") 

バンドルを使用すると、あなたのケースでは、必要ないと思います。

第2に、startActivityとstartActivityForResultを呼び出しています。どちらか一方に電話する。あなたはレスポンスを探しているので、おそらく後者を使用したいと思うでしょう。

最後に、次のようにマニフェストに2番目のアクティビティを追加してください。また、後続のアクティビティを開始するときにボタンではなく、アクティビティのコンテキストを使用することもできます。

ここではクラッシュを引き起こす可能性があるいくつかの問題があるようです。

関連する問題