Это - то, как вы можете использовать interface
между двумя Activity
для передачи данных.
Примечание - Interface
в основном используются, если у вас есть состояние предыдущегокласс, в котором вы хотите передать данные.Здесь ваша деятельность, в которой вы получаете данные, должна начинаться сначала, и вам нужно Context
этой активности в состоянии паузы.Если ваша деятельность разрушена и у вас нет Context
действия, но вы хотите передать данные, то лучше использовать putExtra
, так как interface
не будет работать в этом случае.
Это действие, в которое вы будете получать данные через interface
public class RecieverActivity extends AppCompatActivity implements ValuePasser {
public static ValuePasser valuePasserSecondActivity; // this will be static so that you can use it in your main activity from where you have to send the data
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
valuePasserSecondActivity = this;
}
@Override
public void valueObtained(String value) {
Toast.makeText(RecieverActivity.this, value, Toast.LENGTH_SHORT).show();
}
}
Это ваше действие Откуда вы будете отправлять данные через interface
public class SendDataActivity extends AppCompatActivity{
private ValuePasser valuePasserFirstActivity; // your interface
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
valuePasserFirstActivity = RecieverActivity.valuePasserSecondActivity; // intialize it with the Reciever's end activity interface
if(valuePasserFirstActivity!=null)
valuePasserFirstActivity.valueObtained("test Value");
}
}