Java 将字符串从一个活动传递到另一个活动,android

Java 将字符串从一个活动传递到另一个活动,android,java,android,Java,Android,下面是我将字符串从一个意图传递到另一个意图的代码: 活动1 Button saveBtn = (Button) findViewById(R.id.saveBtn); saveBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EditText et = (EditText) findViewById(R.id.captionText

下面是我将字符串从一个意图传递到另一个意图的代码:

活动1

Button saveBtn = (Button) findViewById(R.id.saveBtn);
saveBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        EditText et = (EditText) findViewById(R.id.captionText);
        String s = et.getText().toString();

        System.out.println("***caa" + s);  
        //text is printed here which i type in editText of my app.

        Intent i = new Intent(Activity1.this,Activity2.class)
        i.putExtra("Caption",s);
        startActivity(i);
        finish();
    }
});
Intent i = new Intent(MainActivity.this,Activity2.class);
i.putExtra("Caption",s);
startActivity(i);
finish();
活动2

Bundle b = getIntent.getExtras();
String str = b.getExtraString("Caption");
System.out.println("***A2 ",str); // here i m getting null
TextView tv = (TextView) findViewById(R.id.Text);
tv.setText(str); 
// and therefore here text is not able to set in textView.
也尝试过使用

 Intent i = getIntent();
 i.getStringExtra("Caption");    // Still no result
在StackOverflow上进行了大量搜索,并尝试了大多数可能的解决方案,但仍然没有获得。

在活动1中: 在您的onCreate()中

在你的onClick()中

在活动2 onCreate()中:


我能够使用下面的代码来完成这项工作

活动1

Button saveBtn = (Button) findViewById(R.id.saveBtn);
saveBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        EditText et = (EditText) findViewById(R.id.captionText);
        String s = et.getText().toString();

        System.out.println("***caa" + s);  
        //text is printed here which i type in editText of my app.

        Intent i = new Intent(Activity1.this,Activity2.class)
        i.putExtra("Caption",s);
        startActivity(i);
        finish();
    }
});
Intent i = new Intent(MainActivity.this,Activity2.class);
i.putExtra("Caption",s);
startActivity(i);
finish();
活动2

Bundle b = getIntent().getExtras();
String str = b.getString("Caption");
Log.i("string",str);

是否可以在不使用onCreate()方法的情况下传递字符串。。。。。。我在onActivityResult()中有此代码method@RiteshKarmare场景不清楚。请编辑问题以添加更多详细信息。是否可以在不使用onCreate()方法的情况下传递字符串。。。。。。如果activity1中有onActivityResult,activity1到activity2的代码,则onActivityResult()方法中有此代码。这是可能的…你必须在activity2I中使用setResult(..)和finish()来代替startactivity。在我的oncreate()方法中,有一个启动相机的意图,就是这样。在我的onacvityresult()方法中,我有一个previewCapturedImage()方法,因此我想从这个方法将我的captionText传递给另一个活动。在previewCapturedImage()中,有图像预览和编辑标题文本。所以这就是我正在做的,但没有得到任何结果
Bundle b = getIntent().getExtras();
String str = b.getString("Caption");
Log.i("string",str);