如何在另一个片段中设置imageview的资源?

时间:2015-08-01 10:59:20

标签: android

一旦我点击AccountSettingFragment中列出的按钮,当我使用这些代码时,我想在SliderFragment中列出的NavigationDrawer中更改我的ImageView

    final LayoutInflater factory_SL = getActivity().getLayoutInflater();
    final View imageEntryView_SL = factory_SL.inflate(R.layout.fragment_slider, null);
    SL_iv_avatar = (ImageView)imageEntryView_SL.findViewById(R.id.SL_profile_image);
    setFullImageFromFilePath(iv_avatar, path);

它不起作用!我试图向NavigationDrawerFragment发送一个标志,但是,我不知道如何设置一个监听器来监督标志的变化。

这是我的代码:

public class AccountSettingFragment extends Fragment{
...
String path;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    ...

    final LayoutInflater factory_SL = getActivity().getLayoutInflater();
    final View imageEntryView_SL = factory_SL.inflate(R.layout.fragment_slider, null);
    SL_iv_avatar = (ImageView)imageEntryView_SL.findViewById(R.id.SL_profile_image);


    root.findViewById(R.id.S_UpdateAccountInfoButton).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                        ...

                        setFullImageFromFilePath(iv_avatar, path);

                        Toast.makeText(getActivity(), "succeed", Toast.LENGTH_SHORT).show();

                        ...
                    }
        ...

}
public void setFullImageFromFilePath(ImageView imageView, String path) {
    imageView.setImageBitmap(BitmapFactory.decodeFile(path));
}

2 个答案:

答案 0 :(得分:0)

ImageView myImageView =(ImageView)v.findViewById(R.id.img_play);

myImageView.setImageResource(R.drawable.ic_play);

答案 1 :(得分:0)

我建议您使用EventBus库,例如GreenRobot EventBus

Otto。使用eventbus

在不同的android组件之间进行通信要容易得多