Ari*_*014 1 android android-activity
我的情况有点特别,所以我会在这里解释一下.我有2个活动,第一个有2个编辑和1个按钮,第二个只有一个按钮.当按下活动1中的按钮时,程序会意外地将文本编辑中的信息发送到活动2并将其显示在活动2上.在活动2上,该按钮仅返回活动1并且我将其称为这样
Button next = (Button) findViewById(R.id.button2);
Intent myIntent = getIntent();
String nume = myIntent.getStringExtra("nume");
String prenume = myIntent.getStringExtra("prenume");
next.setText(nume + " " + prenume);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
Run Code Online (Sandbox Code Playgroud)
我第一次在编辑中输入信息时,它们在活动2中显示为ok,但在我返回活动1并在活动2的编辑中输入新值后,将显示第一次输入的值.
因此,问题似乎是每次按下按钮1以从第二次尝试开始传递到活动2时,意图传递的编辑不会更新.
似乎使用一个extras Bundle将是一个更好的主意.你这样实现它;
活动1
Intent pass = new Intent(ACTION_NAME);
Bundle extras = new Bundle();
extras.putString("nume", NUME_VAL);
extras.putString("prenume", PRENUME_VAL);
pass.putExtras(extras);
startActivity(pass);
Run Code Online (Sandbox Code Playgroud)
活动2
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle data = getIntent().getExtras();
String nume = data.getStringExtra("nume");
String prenume = data.getStringExtra("prenume");
}
Run Code Online (Sandbox Code Playgroud)
从第一个导航到第二个:
Button next = (Button) findViewById(R.id.button2);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),Second.class);
intent.putExtra("Tag", "Value");
startActivity(intent);
finish();
}
});
Run Code Online (Sandbox Code Playgroud)
从第二到第一:
Button previous= (Button) findViewById(R.id.button);
previous.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),First.class);
startActivity(intent);
}
});
Run Code Online (Sandbox Code Playgroud)
创建的第二个活动:
Intent i = getIntent();
String val = i.getStringExtra("Tag");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6991 次 |
| 最近记录: |