1

他のioneアクティビティの整数と文字列を使用するにはどうすればよいですか?

ありがとう

4

2 に答える 2

4

インテントで直接値を設定する方がはるかに簡単です

インテントはputExtra(Name、Value)をサポートします;

        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

于 2012-05-01T16:16:11.257 に答える
3

アクティビティ1:

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

    });
}

受信アクティビティ:

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

しかし、次回は、そのような基本的な質問を投稿する前に、SOを検索してください。そこには似たような質問がたくさんあります。

于 2012-05-01T16:13:46.667 に答える