Daha önce ben kullanıyorum onAttach (Activity activity)
almak için context
deFragment
Sorun
onAttach (Activity activity)
Yöntem API seviyesi 23 kaldırıldı.
Çözüm
Şimdi içeriğe girmek Fragment
içinonAttach (Context context)
onAttach (Context context)
- Bir parçasına ilk kez bir parça eklendiğinde çağrılır
context
. onCreate(Bundle)
bundan sonra çağrılır.
belgeleme
/**
* Called when a fragment is first attached to its context.
* {@link #onCreate(Bundle)} will be called after this.
*/
@CallSuper
public void onAttach(Context context) {
mCalled = true;
final Activity hostActivity = mHost == null ? null : mHost.getActivity();
if (hostActivity != null) {
mCalled = false;
onAttach(hostActivity);
}
}
BASİT KOD
public class FirstFragment extends Fragment {
private Context mContext;
public FirstFragment() {
// Required empty public constructor
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
mContext=context;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rooView=inflater.inflate(R.layout.fragment_first, container, false);
Toast.makeText(mContext, "THIS IS SAMPLE TOAST", Toast.LENGTH_SHORT).show();
// Inflate the layout for this fragment
return rooView;
}
}
NOT
Biz de kullanabilirsiniz getActivity()
almak için context
de Fragments
ancak getActivity()
dönebilirsiniz null
senin eğer fragment
henüz ebeveyne bağlı değil activity
,