在第一个activity中使用
startActivityForResult(intent, state_tag);
启动第二个activity,在第二个activity中调用 setResult(,)
在第一个activity中重载onActivityResult()
第一个Activity:
public class MainActivity extends Activity {
private TextView tv = null;
private int state_tag = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView)findViewById(R.id.textView);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putString("content", tv.getText().toString());
i.putExtra("bundle", bundle);
startActivityForResult(i, state_tag);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == state_tag)
{
if(resultCode == RESULT_OK)
{
Log.i("MainActivity", data.getBundleExtra("bundle2").getString("newContend"));
tv.setText(data.getBundleExtra("bundle2").getString("newContend"));
}
else
{
Log.i("MainActivity", "in else:");
return;
}
}
}
}
第二个activity:
package com.example.intenttest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class SecondActivity extends Activity {
private EditText editText = null;
private Button okButton = null;
private Button cancelButton = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
editText = (EditText)findViewById(R.id.editText);
okButton = (Button)findViewById(R.id.okButton);
cancelButton = (Button)findViewById(R.id.cancelButton);
Intent i = getIntent();
editText.setText(i.getBundleExtra("bundle").getString("content"));
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(SecondActivity.this, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putString("newContent", String.valueOf(editText.getText()));
i.putExtra("bundle2", bundle);
setResult(RESULT_OK, i);
finish();
}
});
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
setResult(RESULT_CANCELED);
finish();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。