Adam Szymanski:
Tengo un problema con el código de Picasso. En mi fragment_home ( fragmento de la barra de navegación ) es ImageView donde quiero poner una imagen de " Image.com " Addres URL. Picasso mirada código como el que se
Picasso.get().load("image.com")
.resize(300,200)
.centerInside()
.into(photo);
No puedo escribir eso en mi HomeFragmentActivity donde el código supone que debe ser porque findViewById no está "trabajando".
HomeFragmentActivity > Lugar donde el código tiene que ser
public class HomeFragment extends Fragment {
private ImageView photo;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_home /*in this layout is ImageView where Picasso is inserting image from URL addres*/) , container, false);
}
}
Cuando el código está en otro lugar ( por ejemplo, en MainActivity en el método onCreate ) aplicación se bloquee. Por favor ayuda. Gracias.
Escribir debajo you'r sugiere, quizá código de Picasso no debe estar en HomeFragmentActivity?
Noviembre Özdemir:
Se puede declarar así:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
photo = view.findViewById(R.id.photo);
Picasso.with(context).load("url")
.resize(300,200)
.centerInside()
.into(photo);
return view;
}
o
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
photo = view.findViewById(R.id.photo);
Picasso.with(context).load("url")
.resize(300,200)
.centerInside()
.into(photo);
}