2012-05-01 6 views

答えて

3

受信アクティビティで
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.search); 

    Button search = (Button) findViewById(R.id.btnSearch); 
    search.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 

      Intent intent = new Intent(Search.this, SearchResults.class); 
      Bundle b = new Bundle(); 

      EditText txt1 = (EditText) findViewById(R.id.edittext); 
      EditText txt2 = (EditText) findViewById(R.id.edittext2); 

      b.putString("name", txt1.getText().toString()); 
      b.putInt("state", Integer.parseInt(txt2.getText().toString())); 

      //Add the set of extended data to the intent and start it 
      intent.putExtras(b); 
      startActivity(intent); 
     } 

    }); 
} 

:SO上

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.search_results); 

    Bundle b = getIntent().getExtras(); 
    int value = b.getInt("state", 0); 
    String name = b.getString("name"); 

    TextView vw1 = (TextView) findViewById(R.id.txtName); 
    TextView vw2 = (TextView) findViewById(R.id.txtState); 

    vw1.setText("Name: " + name); 
    vw2.setText("State: " + String.valueOf(value)); 
} 

しかし、次のタイムサーチなどの基本的な質問を投稿する前に。そこには多くの類似の質問があります。

4

直接の意図に値を設定する方がはるかに簡単だろう

意向サポートputExtra(名前、値)

 Intent intent = new Intent(Search.this, SearchResults.class); 
     EditText txt1 = (EditText) findViewById(R.id.edittext); 
     EditText txt2 = (EditText) findViewById(R.id.edittext2); 

     intent.putExtra("name", txt1.getText().toString()); 
     intent.putExtra("state", Integer.parseInt(txt2.getText().toString())); 

     startActivity(intent); 

.... 

     getIntent().getStringExtra("name"); 
     getIntent().getIntExtra("state", 0); // default 

http://developer.android.com/reference/android/content/Intent.html#putExtra%28java.lang.String,%20android.os.Bundle%29