0

ここでは、プロジェクトに 2 つのアクティビティを作成しました。

public class CheckAvailability extends Activity{

Button but1,but2;
EditText brName;
TextView txt1;
String text;
//private static final String ATM_NO = "atmbrno";
//private static final String ATM_PLACE = "atmbrname";


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

    brName =(EditText)findViewById(R.id.editText1);
    but1 = (Button)findViewById(R.id.button5); 
    but2 = (Button)findViewById(R.id.button6);



    but1.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v){

            String b_name=brName.getText().toString();

            Intent intent1 = new Intent(); 
            intent1.setClass(getApplicationContext(), ListAtmActivity.class);
            Bundle b = new Bundle();
            b.putString("key", b_name);
            intent1.putExtras(b);
            startActivity(intent1);
            finish();}
});

    but2.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v){
            Intent intent1 = new Intent(); 
            intent1.setClass(getApplicationContext(), SelectOption.class);
            startActivity(intent1);
    }                                                                       });

}
}

そして、b_name String 値を他のアクティビティに渡したいと思います。これが私の2番目のアクティビティです。

public class ListAtmActivity extends ListActivity{


TextView error;
String brName;


// contacts JSONArray
JSONArray contacts = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list_main);

    Bundle b = getIntent().getExtras();
    brName = b.getString("key");

    error = (TextView)findViewById(R.id.name);
    error.setText(brName);}}

しかし、2 番目のアクティビティでその文字列を取得できませんか? エラーを見つけるのを手伝ってください。

4

8 に答える 8

3

答えは、あなたがやろうとしたことよりも簡単です:

Intent intent = new Intent(this, ListAtmActivity.class);
intent.putExtra("key", b_name);
startActivity(intent);

次に、アクティビティ B で:

Intent intent= getIntent(); // gets the previously created intent
String value = intent.getStringExtra("key");
于 2012-09-12T09:42:46.190 に答える
1
public void onClick(View v){
        Intent intent1 = new Intent(); 
        intent1.setClass(CheckAvailability.this , ListAtmActivity.class);
        intent1.putExtra("name", b_name );
        startActivity(intent1);
}  

次に、2番目のアクティビティで:

   getIntent().getStringExtra("name");
于 2012-09-12T09:41:49.123 に答える
1

アクティビティ 1:

 Intent intent1 = new Intent(); 
        intent1.setClass(getApplicationContext(), ListAtmActivity.class);           
        intent1.putExtra("key", b_name);
        startActivity(intent1);
        finish();

アクティビティ 2:

Intent intent = getIntent();
brName = intent.getStringExtra("key");
于 2012-09-12T09:43:37.650 に答える
1

最初のアクティビティでは、

            Intent passIntent = new Intent(FirstActivity.this,
                    SecondActivity.class);
            passIntent.putExtra("key", b_name);
            startActivity(passIntent);

SecondActivity で、

String u_name=getIntent().getExtras().getString("key");
于 2012-09-12T09:43:58.060 に答える
1

次のコードを使用する必要がありますputExtra()

Intent intent=new Intent(this,ListAtmActivity.class);
intent.putExtra("key",b_name);
startActivity(intent)

そして、ListAtmActivity使用して文字列を取得します

String data;
data=getIntent.getExtras().getString("key");

これで、データ変数に送信された値が表示されます。

于 2012-09-12T09:44:00.023 に答える
0

最初の活動では

Intent in=new Intent(first.this,second.class);
in.putExtra("nameOfImage", "firstImage");
startActivity(in);

第二の活動で

Intent intent = getIntent();
String nameOfImage = intent.getStringExtra("nameOfImage");
于 2013-10-30T11:45:54.010 に答える
0

2 番目のアクティビティについて:

交換:

Bundle b = getIntent().getExtras();
brName = b.getString("key");

と:

Intent intentListatmactivity = getIntent(); 
brName = intentListatmactivity.getStringExtra("key");
于 2015-07-23T06:42:48.130 に答える
0

最初のアクティビティで

Intent intent = new Intent(context, second.class);
intent.putExtra("string_name", "string");
startActivity(intent);

2 番目のアクティビティで

Bundle bundle = getIntent().getExtras();
extras.getString("string_name")
于 2012-09-12T09:51:02.940 に答える