在Fragment双窗格中更改ImageView onClick

时间:2016-04-05 05:27:08

标签: android android-fragments imageview landscape

我正在用排球做一个图库的Android应用程序。在水平模式下,我使用两个片段。一个是填充图像的网格视图,另一个是显示所选图像。选择不起作用。我需要你的帮助。

这是显示所选图像的图像视图片段。默认情况下,它只会加载一些图像,点击它会显示一个默认图像,仅供测试。

package net.simplifiedcoding.androidcustomgridview;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;

/**
  * Created by Karen on 4/4/2016.
 */
public class ImageViewFragment extends Fragment {

public NetworkImageView networkImageView;
public ImageLoader imageLoader;

public ImageViewFragment() {

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.image_layout, container, false);
    //NetworkImageView
    networkImageView = (NetworkImageView) view.findViewById(R.id.imgLoaded);

    //Initializing ImageLoader
    imageLoader = CustomVolleyRequest.getInstance(getActivity()).getImageLoader();
    imageLoader.get("http://karenstudio.coolpage.biz/images/hulk_small.jpg", ImageLoader.getImageListener(networkImageView, R.mipmap.ic_launcher, android.R.drawable.ic_dialog_alert));

    //Setting the image url to load
    networkImageView.setImageUrl("http://karenstudio.coolpage.biz/images/hulk_small.jpg", imageLoader);

    return view;
}

public void setSelectedImage(){
    networkImageView.setDefaultImageResId(R.mipmap.ic_launcher);
}
}

我有一个onClick方法来监听网格视图适配器中的点击

class OnImageClickListener implements View.OnClickListener {
int _position;

    public OnImageClickListener(int position) {
        this._position = position;
    }

    @Override
    public void onClick(View v) {
            if (mListener != null) {
                MainActivity.position = _position;
                mListener.onStageComplete();
            }
    }

}

在MainActivity中,我实现了接口

    @Override
public void onStageComplete() {
    ImageViewFragment imageViewFragment = (ImageViewFragment) getSupportFragmentManager().findFragmentById(R.id.img_view_fragment);
    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
        if (imageViewFragment != null){
            imageViewFragment.setSelectedImage();
        }
}

伙计们,对我而言似乎是正确的,应该有效。它只是不改变图像视图片段中的图像,横向模式中的第二个片段。我的代码中哪些不正确?谁有同样的问题?

0 个答案:

没有答案