Arayüzleri kullanmayı deneyin.
Verileri içeren etkinliğine geri iletmesi gereken herhangi bir parça, verileri işlemek ve iletmek için bir arabirim bildirmelidir. Ardından, içerme etkinliğinizin bu arabirimleri uyguladığından emin olun. Örneğin:
JAVA
Parçanızda arayüzü bildirin ...
public interface OnDataPass {
public void onDataPass(String data);
}
Daha sonra, kapsayıcı sınıfın uygulanmasını onAttach yöntemindeki parçaya bağlayın, şöyle:
OnDataPass dataPasser;
@Override
public void onAttach(Context context) {
super.onAttach(context);
dataPasser = (OnDataPass) context;
}
Parçanızın içinde, veri geçişini işlemeniz gerektiğinde, bunu dataPasser nesnesinde çağırmanız yeterlidir:
public void passData(String data) {
dataPasser.onDataPass(data);
}
Son olarak, uygulayan aktivitenizde OnDataPass...
@Override
public void onDataPass(String data) {
Log.d("LOG","hello " + data);
}
KOTLIN
1. Adım. Arabirim Oluşturun
interface OnDataPass {
fun onDataPass(data: String)
}
2. Adım. Ardından, kapsayıcı sınıfın arabirim uygulamasını onAttach yöntemindeki (YourFragment) parçasına bağlayın, şöyle:
lateinit var dataPasser: OnDataPass
override fun onAttach(context: Context) {
super.onAttach(context)
dataPasser = context as OnDataPass
}
Adım 3. Parçanızın içinde, veri geçişini işlemeniz gerektiğinde, bunu dataPasser nesnesinde çağırmanız yeterlidir:
fun passData(data: String){
dataPasser.onDataPass(data)
}
Adım 4. Son olarak, etkinliğinizde OnDataPass uygular
class MyActivity : AppCompatActivity(), OnDataPass {}
override fun onDataPass(data: String) {
Log.d("LOG","hello " + data)
}