Java ImageViewTouch不';t在对话框片段上显示图像

Java ImageViewTouch不';t在对话框片段上显示图像,java,android,android-layout,imageview,android-dialogfragment,Java,Android,Android Layout,Imageview,Android Dialogfragment,我发现了ImageViewTouch,因为我想在我的应用程序上创建一个缩放图像预览,尽管我需要在其中一个DialogFragment上显示该图像。但是它在一个正常的片段活动上工作得很好,这是主要的活动,但不是在我的DialogImage中,我不知道为什么 我使用gradle导入了库,以下是我目前的代码: 主要活动 import it.sephiroth.android.library.imagezoom.ImageViewTouch; import android.os.Bundle; impo

我发现了ImageViewTouch,因为我想在我的应用程序上创建一个缩放图像预览,尽管我需要在其中一个DialogFragment上显示该图像。但是它在一个正常的片段活动上工作得很好,这是主要的活动,但不是在我的DialogImage中,我不知道为什么

我使用gradle导入了库,以下是我目前的代码:

主要活动

import it.sephiroth.android.library.imagezoom.ImageViewTouch;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;

    public class MainActivity extends FragmentActivity {

        ImageViewTouch mImage;

        @Override
        protected void onCreate( Bundle savedInstanceState ) {
            super.onCreate( savedInstanceState );
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView( R.layout.fragment_main );
             mImage = (ImageViewTouch) findViewById( R.id.image );

            ImageDownloader2 imgDownload = new ImageDownloader2();
            imgDownload.download("MY_URL", mImage);

            Button click = (Button)findViewById(R.id.button);
            click.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {
                    showPromoImage();
                }
            });
        }

        private void showPromoImage(){
            DialogImage promo_details = new DialogImage();
            promo_details.show(getFragmentManager(), "promo_details");
        }
    }
对话图像

import android.app.DialogFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import it.sephiroth.android.library.imagezoom.ImageViewTouch;

/**
 * Created by Bahay on 2/19/14.
 */
public class DialogImage extends DialogFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.dialog_image, container);
        getDialog().setTitle("Test");
        getDialog().setCanceledOnTouchOutside(true);

        ImageViewTouch promo = (ImageViewTouch) view.findViewById(R.id.image);
        ImageDownloader2 imgDownload = new ImageDownloader2();
        imgDownload.download("MY_URL", promo);

        return view;

    }
}
fragment_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <it.sephiroth.android.library.imagezoom.ImageViewTouch
        android:id="@+id/image"
        android:layout_width="158dp"
        android:layout_height="322dp"
        android:scaleType="fitCenter" />

    <LinearLayout
        android:layout_weight="0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="5dp"
        android:gravity="center"
        android:weightSum="2" >

        <Button
            android:id="@+id/button"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="20dp"
            android:layout_height="wrap_content"
            android:text="Load Image" />

        <Button
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="20dp"
            android:layout_height="wrap_content"
            android:text="Change Display" />
    </LinearLayout>

</LinearLayout>

dialog_image.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <it.sephiroth.android.library.imagezoom.ImageViewTouch
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitCenter" />


</LinearLayout>

ImageDownloader2只是一个库,它从URL下载图像,然后将其转换为位图。我刚刚为使用ImageViewTouch对此进行了一些定制

对于ImageViewTouch,您可以在此处看到:

对于ImageDownloader2类,您可以在此处看到它: 我刚刚用ImageViewTouch替换了ImageView作为下载方法

更新:

尝试使用一个普通的老式对话框,其中我使用了活动和意图,我只是将DialogImage主题化为
android:theme=“@android:style/theme.DeviceDefault.dialog”
。输出与未加载图像的位置相同

希望有人能帮忙。谢谢