FragmentPickFloor.javaDeğerleri doğrudan Fragman'dan Özel Görünüm'e geçirmek mümkün mü?
......
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.btnScan:
if(spinFloor.performClick() && spinPartFloor.performClick()) {
extras = new Bundle();
spinFloorValue = spinFloor.getSelectedItem().toString();
spinPartFloorValue = spinPartFloor.getSelectedItem().toString();
extras.putString(Constants.FLOOR_KEY, spinFloorValue);
extras.putString(Constants.FLOOR_PART_KEY, spinPartFloorValue);
intent = new Intent(getContext(), MainActivity.class);
intent.putExtras(extras);
startActivity(intent);
FragmentCreator.fragmentTransactionSetup(new FragmentFloor(), getFragmentManager(), FragmentFloor.class.getSimpleName());
}
break;
}
}
FragmentCreator.java
public static void fragmentTransactionSetup(Fragment fragment,
FragmentManager fragmentManager,
String tag) {
fragmentManager.executePendingTransactions();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment, tag);
fragmentTransaction.addToBackStack(tag);
fragmentTransaction.commit();
}
FragmentFloor.java
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_floor, container, false);
}
TouchView.java
public TouchView(Context context, AttributeSet attrs) {
super(context, attrs);
extras = ((MainActivity) getContext()).getIntent().getExtras();
spinFloorValue = extras.getString(Constants.FLOOR_KEY);
spinPartFloorValue = extras.getString(Constants.FLOOR_PART_KEY);
}
TouchView d FragmentPickFloor'daki iplikçilerden seçtiğiniz bağımlılık değerlerinde farklı arka planlar görüntülenir.
Tavsiyene kullanılan kullanarak parçasından doğrudan etkinliğin paket verilerine erişen çalışıyorum, ama olabilir benim değerler Özel görünümüm gönderildikten sonra güncellenir. – jozwiak
Bu durumda, değerleri Activity => Fragment => Custom View'dan yaymanın bir yoluna ihtiyacınız olacaktır. Birkaç seçenek vardır: ** Yeni Fragment Sihirbazı *, ** Otto ** veya ** RxJava ** gibi bir Etkinlik Veriyolu tarafından oluşturulanlar gibi bir ** FragmentInteractionListener ** kullanabilirsiniz. Her bir seçeneği araştırın ve her seçeneğin entegre edilmesine ilişkin süre göz önüne alındığında sizin için en uygun olanı belirleyin. – ayvazj
Teşekkür ederim. Şimdi LayoutInflater.Factory – jozwiak